浮點運算
浮點運算 |
浮點運算就是實數運算,因為計算機只能存儲整數,所以實數都是約數,這樣浮點運算是很慢的而且會有誤差。大多數機器都是32位的,也就是說32位都用來表示整數的話,那麼對於無符號整數就是0 到 2^32-1,對於有符號的話就是-2^31 到 2^31-1。
目錄
簡介
當我們用不同的電腦計算圓周率時,會發現一台電腦的計算較另一台來講結果更加精確。或者我們在進行槍戰遊戲的時候,當一粒子彈擊中牆壁時,牆上剝落下一塊牆皮,同樣的場面在一台電腦上的表現可能會非常的呆板、做作;而在另外一台電腦上就會非常生動形象,甚至與我們在現實中看到的所差無幾。這都是浮點運算能力的差異導致的。如果是實數的話,就不是這樣了,機器有兩種辦法表示實數,一種是定點,就是小數點位置是固定的,一種是浮點,就是小數點位置不固定,計算方法也比較麻煩,通常會比整數運算代價大很多。FPU->Floating Point Unit,浮點運算部件。BCD->Binary Coded Decimal 壓縮的二進制數,是用4個位來表示數字0~9,一個byte表示兩個十進制數,比如正常二進制數1001111表示79,而BCD中用 0111 1001 來表示79。 科學計數法:a×10的n次冪的形式。將一個數字表示成 (a×10的n次冪的形式),其中1≤|a|<10,n表示整數,這種記數方法叫科學記數法。
評價
計算機里整數和小數形式就是按普通格式進行存儲,例如1024、3.1415926等等,這個沒什麼特點,但是這樣的數精度不高,表達也不夠全面,為了能夠有一種數的通用表示法,就發明了浮點數。浮點數的表示形式有點像科學計數法(*.*****×10^***),它的表示形式是0.*****×10^***,在計算機中的形式為 .***** e ±***),其中前面的星號代表定點小數,也就是整數部分為0的純小數,後面的指數部分是定點整數。利用這樣的形式就能表示出任意一個整數和小數,例如1024就能表示成0.1024×10^4,也就是 .1024e+004,3.1415926就能表示成0.31415926×10^1,也就是 .31415926e+001,這就是浮點數。浮點數進行的運算就是浮點運算。浮點運算比常規運算更複雜,因此計算機進行浮點運算速度要比進行常規運算慢得多。 [1]