什么是浮點(diǎn)運(yùn)算的意思概念介紹
浮點(diǎn)運(yùn)算就是實(shí)數(shù)運(yùn)算,因?yàn)橛?jì)算機(jī)只能存儲整數(shù),所以實(shí)數(shù)都是約數(shù),這樣浮點(diǎn)運(yùn)算是很慢的而且會有誤差。那么你對浮點(diǎn)運(yùn)算了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是浮點(diǎn)運(yùn)算的內(nèi)容,希望大家喜歡!
什么是浮點(diǎn)運(yùn)算
當(dāng)我們用不同的電腦計(jì)算圓周率時,會發(fā)現(xiàn)一臺電腦的計(jì)算較另一臺來講結(jié)果更加精確?;蛘呶覀冊谶M(jìn)行槍戰(zhàn)游戲的時候,當(dāng)一粒子彈擊中墻壁時,墻上剝落下一塊墻皮,同樣的場面在一臺電腦上的表現(xiàn)可能會非常的呆板、做作;而在另外一臺電腦上就會非常生動形象,甚至與我們在現(xiàn)實(shí)中看到的所差無幾。這都是浮點(diǎn)運(yùn)算能力的差異導(dǎo)致的。
如果是實(shí)數(shù)的話,就不是這樣了,機(jī)器有兩種辦法表示實(shí)數(shù),一種是定點(diǎn),就是小數(shù)點(diǎn)位置是固定的,一種是浮點(diǎn),就是小數(shù)點(diǎn)位置不固定,計(jì)算方法也比較麻煩,通常會比整數(shù)運(yùn)算代價大很多
FPU->Floating Point Unit,浮點(diǎn)運(yùn)算部件
BCD->Binary Coded Decimal 壓縮的二進(jìn)制數(shù),是用4個位來表示數(shù)字0~9,一個byte表示兩個十進(jìn)制數(shù),比如1001111表示79
科學(xué)計(jì)數(shù)法:a×10的n次冪的形式。將一個數(shù)字表示成 (a×10的n次冪的形式),其中1≤|a|<10,n表示整數(shù),這種記數(shù)方法叫科學(xué)記數(shù)法
浮點(diǎn)數(shù)的介紹
在這之前,先來看幾個術(shù)語:
FPU->Floating Point Unit,浮點(diǎn)運(yùn)算部件
BCD->Binary Coded Decimal 壓縮的二十進(jìn)制數(shù),是用4個位來表示數(shù)字0~9,一個byte表示兩個十進(jìn)制數(shù),比如01111001表示89
浮點(diǎn)運(yùn)算使用三種不同的數(shù)據(jù):
1、整數(shù)(Integer),又分為字,短整數(shù)(Short Integer)和長整數(shù)(Long Integer)
2、實(shí)數(shù)(Real)分單精度(Single Real)和雙精度(Double Real)
3、壓縮的二十進(jìn)制數(shù)(BCD)
浮點(diǎn)運(yùn)算的格式
單精度:_31_30________23_22___________0
符號 指數(shù) 有效數(shù)
雙精度:_63_62__________52_51__________________0
符號 指數(shù) 有效數(shù)
擴(kuò)展精度數(shù): _79_78____________64_63___________________0
符號 指數(shù) 有效數(shù)
例子:
C377999A var1 dd -247.6
40000000 var2 dd 2.0
486F4200 var3 real4 2.45e+5
4059100000000000 var4 dq 100.25
3F543BF727136A40 var5 real8 0.00123
C377999A var1 dd -247.6
40000000 var2 dd 2.0
486F4200 var3 real4 2.45e+5
4059100000000000 var4 dq 100.25
3F543BF727136A40 var5 real8 0.001235
400487F34D6A161E4F76 var6 real10 33.9876
DD和real4都可以在asm中來定義單精度浮點(diǎn)數(shù),4 bytes
DQ和real8都可以在asm中來定義雙精度浮點(diǎn)數(shù),8 bytes
DT和real10都可以在asm中來定義擴(kuò)展精度浮點(diǎn)數(shù),10 bytes
看過“浮點(diǎn)運(yùn)算的格式“的人還看了: