補碼 浮點數

2021-08-28 20:46:23 字數 507 閱讀 8109

補碼:用於簡化加法器的實現電路。

正數的補碼就是原碼,負數的補碼:符號位不變,其餘位按位取反,末位+1

定點數:分配固定的n位作整數部分,m位作小數部分。但實際操作中浪費很大。

浮點數:符號位s+指數e+尾數m。則n=(-1)^s*m*2^e。

ieee-754規格化浮點數標準:

浮點數小數字左邊的整數字不用儲存,約定為1,即通過移動小數點改變指數部分使得小數點左邊只有1,此1不用儲存,小數點右邊的m才作為尾數儲存。

指數的實際值需要加上2^(n-1)-1再儲存,n為階碼的位數。

單精度浮點數:1位s+8位階碼+23位m。共32位,約2^127。

雙精度浮點數:1位s+11位階碼+52位m。共64位,約2^1023次方。

浮點數的運算:

1.對階操作

2.尾數運算

3.規格化處理

浮點數 儲存

關鍵字 體系結構 ieee754 浮點數 儲存 main 如果不執行上面的 讓我們來直接判斷,輸出的結果會是什麼?而在你執行程式之後,結果卻很讓人詫異 123.456001。為什麼會是123.456001?有六位小數可以理解,最後那個1是為何?有很多人解釋說最後那個1是亂碼,隨機的。嘿嘿 其實無論你...

浮點數操作

float fx 49.03f int nx fx 100 printf d nx 執行上述 結果 4902。用vc6.0,2005,gcc編譯執行結果都是一樣。為什麼會這樣呢,是因為浮點數運算具有不精確性。其實編譯上面的 編譯器會有警告的。warning c4244 initializing co...

浮點數比較

在數 算當中經常會涉及到判斷兩個數是否相等的情況 對於整數很好處理 a b這樣的乙個語句就可以解決全部的問題 但是對於浮點數是不同的 首先,浮點數在計算機當中的二進位制表達方式就決定了大多數浮點數都是無法精確的表達的 現在的計算機大部分都是數字計算機,不是模擬機,數字機的離散化的資料表示方法自然無法...