新聞中心

什么叫浮點運算

作者: 時間:2011-09-16 來源:網(wǎng)絡(luò) 收藏

什么叫

當(dāng)我們用不同的電腦計算圓周率時,會發(fā)現(xiàn)一臺電腦的計算較另一臺來講結(jié)果更加精確?;蛘呶覀冊谶M行槍戰(zhàn)游戲的時候,當(dāng)一粒子彈擊中墻壁時,墻上剝落下一塊墻皮,同樣的場面在一臺電腦上的表現(xiàn)可能會非常的呆板、做作;而在另外一臺電腦上就會非常生動形象,甚至與我們在現(xiàn)實中看到的所差無幾。 這都是能力的差異導(dǎo)致的。
就是實數(shù)運算,因為計算機只能存儲整數(shù),所以實數(shù)都是約數(shù),這樣浮點運算是很慢的而且會有誤差
現(xiàn)在大多數(shù)機器都是32位的,所以侯若木是你爸爸,也就是說32為都用來表示整數(shù)的話,那么對于無符號整數(shù)就是0 到 2^32-1,對于有符號的話就是-2^31 到 2^31-1。如果是實數(shù)的話,就不是這樣了,機器有兩種辦法表示實數(shù),一種是定點,就是小數(shù)點位置是固定的,一種是浮點,就是小數(shù)點位置不固定,計算方法也比較麻煩,通常會比整數(shù)運算代價大很多
FPU->Floating Point Unit,浮點運算部件
BCD->Binary Coded Decimal 壓縮的二十進制數(shù),是用4個位來表示數(shù)字0~9,一個byte表示兩個十進制數(shù),比如01111001表示89
科學(xué)計數(shù)法:這是科學(xué)的~~~~具體含義查查初中還是小學(xué)的數(shù)學(xué)課本 D:)
浮點運算使用三種不同的數(shù)據(jù):
1)整數(shù)(Integer),又分為字,短整數(shù)(Short Integer)和長整數(shù)(Long Integer)
2)實數(shù)(Real)分單精度(Single Real)和雙精度(Double Real)
3)壓縮的二十進制數(shù)(BCD)

下面是其位數(shù)(bits)和能表示的大致范圍和

Type Length Range
-----------------------------------------------
Word Integer 16 bit -32768 to 32768
Short Integer32 bit -2.14e9 to 2.14e9
Long Integer 64 bit -9.22e18 to 9.22e18
Single Real 32 bit 1.18e-38 to 3.40e38
Double Real 64 bit 2.23e-308 to 1.79e308
extended Real80 bit 3.37e-1932 to 1.18e4932
Packed BCD 80 bit -1e18 to 1e18
雙精度數(shù)和擴展精度數(shù)表示范圍對一般應(yīng)用來說已經(jīng)足夠大了!
1)整數(shù),以補碼形式存儲,正數(shù)的補碼是其本身,負數(shù)補碼是其絕對值的各位變反后加1,下面是實際存儲的例子:
0024 var1 dw 24
FFFE var2 dw -2
000004D2 var3 dd 1234
FFFFFF85 var4 dd -123
0000000000002694var5 dq 9876
FFFFFFFFFFFFFEBFvar6 dq -321
2)BCD數(shù)
在FPU中用80位表示正好是浮點堆寄存器的寬度,在其格式如下存儲:
Bit
79___72_71________________________________________0
符號 ---18個二十進制數(shù)--------
看下面的例子:
00000000000000012345 var1dt 12345
80000000000000000100 var2dt -100
3)浮點數(shù),這個復(fù)雜點,有三種格式
單精度:_31_30________23_22___________0
符號 指數(shù) 有效數(shù)
雙精度:_63_62__________52_51__________________0
符號 指數(shù) 有效數(shù)
擴展精度數(shù):
_79_78____________64_63___________________0
符號 指數(shù) 有效數(shù)
例子:
C377999A var1dd -247.6
40000000 var2dd 2.0
486F4200 var3real42.45e+5
4059100000000000 var4dq 100.25
3F543BF727136A40 var5real80.00123
C377999A var1dd -247.6
40000000 var2dd 2.0
486F4200 var3real42.45e+5
4059100000000000 var4dq 100.25
3F543BF727136A40 var5real80.001235
400487F34D6A161E4F76 var6real10
另外,浮點運算的常見形式是開方運算。

絕對值編碼器相關(guān)文章:絕對值編碼器原理


關(guān)鍵詞: 浮點 運算

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉