計算機系統第二章 浮點數

2021-10-06 03:55:30 字數 2187 閱讀 3705

二進位制小數:底權公式

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 整數具有逆元 由於模運算導致阿貝爾群產生,從而導致了整數與浮點數在運算性質上的極大不同。整數支援加法和乘法的交換律 結合律 而浮點數因為精...