二進位制小數:底權公式
1011.101=8+2+1+0.5+0.125=11.625
竅門;小數部分寫成分數,分母為2^k,k為小數字數,分子為小數部分二進位制的值,即101=5/8=0.625
觀察:小數點右移一位——乘2
小數點左移一位——除2
二進位制小數表示範圍——只能精確表示諸如x/2^k的數
其他的值只能近似表示
ieee浮點數
數學形式:形如科學計數法
符號位s 確定了這個數是負數還是正數,數值0的符號位特殊處理
尾數m是乙個二進位制小數,通常規定在範圍[1.0,2.0)滿2就進製,所以不能等於2
階碼e表示2的冪
符號位——階碼——尾數
浮點數:
規格化值:判斷條件——階碼exp不全0也不全1
階碼字段被解釋為以偏置形式表示的有符號整數:
e=exp-bias
e是科學計數法的那個冪次,exp是儲存的階碼,是無符號數,放在機器裡的
bias=2^(k-1)-1,其中k為階碼位數
減去bias實現了對稱,因為exp範圍為(0到2^k-1)
減了之後e的範圍就為(1-2(k-1)到2(k-1))
尾數m是1.***
所以為了節省空間我們就在機器中只儲存frac:***
最小值000…0(m=1.0)
最大值:111…1(m=2.0-&)
單精度存到機器中的形式階碼exp有8位,尾數frac有23位
float f=15213.0=11101101101101=1.1101101101101x2^13
這就是科學計數法表示,我們要把它變成在機器中存的形式
e=13,m=1.1101101101101
exp=e+bias=13+2^7-1=140=10001100
frac=11011011011010000000000
所以儲存在機器中的形式就為0(符號位)10001100(階碼)11011011011010000000000(尾數)
非規格化值:exp為全0,表示趨近於0的數
科學計數法的e=1-bias(為了非規格化與規格化的平滑過渡)
m=0.***
***:frac的位表示
特殊值:
exp為全1
1.frac為全0,表示無窮大,由符號位決定是正無窮還是負無窮
2.frac不為全0,用來表示一些無法表示的數
平滑過渡:從0000到0001 e都是1-bias
而且尾數m剛好進製從0.111變為1.000
0 1111 000表示正無窮
1 1111 000表示負無窮
0 1111 001表示無法表示的數
最小的非規格化正數:儲存的階碼exp為全0,尾數frac=00…001
最大的非規格化正數:儲存的階碼exp為全0,尾數frac=11…111
最小的規格化正數:儲存的階碼exp為00…001,尾數frac=00…000
最大的規格化正數:儲存的階碼exp為11…10 尾數frac=11…111
浮點運算思路:
需要捨入,
基本思路:首先計算精確結果,然後通過捨入得到近似結果
捨入方式:
1.向上捨入
2.向下捨入
3.向0捨入
4.向偶數捨入
各種模式的優點是什麼:向偶數捨入能找到最接近的匹配值;其它三種用於計算上界和下界
向偶數捨入:中間值捨入到偶數,避免了四捨五入
使用四捨六入
浮點數乘法:
符號位s1^s2
尾數m1xm2
階碼e:e1+e2
如果m>=2,m右移一位,e=e+1(因為乘2代表左移一位)
如果e超出表示範圍,溢位
將m捨入到frac的位數範圍
浮點數加法
1.對階,小階向大階對齊(首先要使兩個數階碼相同,即小數點的位置對齊,因為階碼是指的尾數要左移多少位)將原來階碼小的數的尾數右移e位,其階碼值加上e,即每次右移一位尾數要階碼加1,則該浮點數的值不變,但精度變差了
2.尾數進行加法運算
3.結果規格化並進行捨入處理(如果尾數不是規格化數,則需要進行規格化處理,並進行捨入)
4.判斷溢位
(根據階碼來判斷是否溢位)
計算機系統 浮點數
浮點數 1.二進位制小數 二進位制小數點右側的 位 表示2的分數冪次 負冪 竅門 小數部分寫成分數,分母為2 k,k為小數字,分子為小數部分二進位制的值。即 101 5 8 0.625 表示範圍 只能精確表示諸如x 2 k的數 其它的值只能近似表示 2.ieee浮點數 數字形式 符號位s 確定了這個...
計算機系統中的浮點數
人類世界的小數的表示形式 1 我們最習慣的小數表示形式是十進位制,形式為 它的值為 2 小數的二進位制表示法,形式為 它的值為 ieee浮點標準 在計算機系統中,因為有位元組的限制 c語言中float型別佔4位元組,double型別佔8位元組 小數的表示要複雜的多。ieee制定的浮點標準得到了所有的...
計算機系統 整數與浮點數 詳解 一
小結整數分為無符號數和有符號數。整數在計算機上的運算是模運算,形成的數學結構稱為阿貝爾群,阿貝爾群具有以下特點 滿足運算的交換律和結合律公理 整數具有單位元 0 整數具有逆元 由於模運算導致阿貝爾群產生,從而導致了整數與浮點數在運算性質上的極大不同。整數支援加法和乘法的交換律 結合律 而浮點數因為精...