返回目錄《計算機組成原理筆記目錄(2019 王道考研)》
2.3 浮點數的表示與運算
本節主要內容
1.基本格式
2.規格化
3.表示範圍
4.ieee754標準
5.浮點數的加減運算
6.浮點數的強制型別轉換
1.基本格式
2.規格化
規定尾數的最高數字必須是乙個有效值
1.左規
當浮點數運算的結果為非規格化時,要進行規格化處理
將尾數左移一位,階碼-1(基數為2時)
2.右規
當浮點數運算結果尾數出現溢位(雙符號位為01或10)時,
將尾數右移一位,階碼+1(基數為2時)
3.浮點數的加減法
必須按照以下幾步進行
1.對階,使兩位的小數點位置對齊
2.尾數求和
3.規格化,為了增加有效數字的位數,提高運算精度,必須將求和(差)後的尾數規格化
4.捨入,為了提高精度,要考慮尾數右移時丟失的數值位
5.溢位判斷
4.規格化浮點數的特點
3.表示範圍
負數上溢和正數下溢可以當做機器0(階碼部分負溢位)
4.ieee754標準(重點)
1.幾個注意點:
1.階碼用移碼表示,不需要階符
2.尾數中有乙個隱藏表示的最高位1
3.因為有這個隱藏的最高位1,故階碼用移碼表示時的偏置量與一般的移碼的偏置量不同
需要一般移碼的偏置量-1後,即可得到此標準的移碼的偏置量
即:標準的移碼的偏置量=一般移碼的偏置量-1
4.臨時浮點數基本不會考,看一下就行
2.此標準表示浮點數還有一些規定:
通過這些規定,此標準就可以表示正無窮、負無窮、0還有nan
3.ieee754的取值範圍(正常範圍內分析,即:1<=e<=254)
4.ieee754 32位完整取值範圍示意圖
5.浮點數的加減運算
1.步驟:
0.真值到機器數的轉換
1.對階
2.尾數加減
3.規格化
規格化之前的溢位不是真溢位,規格化之後還溢位才是真溢位
4.捨入
」0「舍」1「入法
恆置「1」法
5.溢位判斷(詳見課本)
階碼上溢:需要進行中斷處理
階碼下溢:按機器0處理
2.示例
6.浮點數的強制型別轉換
1.無損型別轉換
1.char -> int -> long -> double
2.float -> double
2.無符號數和有符號數
3.intfloat的精度和表示範圍
int -> float:可能損失精度
float -> int;可能溢位及損失精度
資料的表示與運算 浮點數
計算機中,數字分為定點數和浮點數。相對於浮點數,定點數比較好理解,原碼補碼反碼移碼。而浮點數十分繁雜。關於浮點數的繁雜,我覺得最好的解釋就是,william m.kahan 因其在浮點數運算標準的制定上的突出貢獻而獲得圖靈獎。kahan 也是浮點數 ieee754 標準的主要設計師。初識浮點數 假如...
浮點數的表示
在定點數表示中存在的乙個問題是,難以表示數值很大的資料和數值很小的資料。例如,電子的質量 9 10 28克 和太陽的質量 2 1033克 相差甚遠,在定點計算機中無法直接表示,因為小數點只能固定在某乙個位置上,從而限制了資料的表示範圍。為了表示更大範圍的資料,數學上通常採用科學計數法,把資料表示成乙...
浮點數的表示
日期 2010年6月 6日 1.前幾天,我在讀一本c語言教材,有一道例題 includevoid main void 執行結果如下 num的值為 9 pfloat的值為 0.000000 num的值為 1091567616 pfloat的值為 9.000000 我很驚訝,num和 pfloat在記憶...