在計算機中浮點數是如何儲存的?

2021-09-13 09:41:15 字數 733 閱讀 2196

在計算機中儲存資料都是以0、1來表示,整數可以很容易地在十進位制和二進位制之間切換,但小數就不那麼容易了-----因為小數點的存在。在計算機語言當中,人們將資料根據是否有小數點分為了整型以及浮點型別。整型的儲存是簡單的,但浮點型別的儲存是乙個很大的挑戰(儲存乙個小數)。人們為了方便儲存小數,通常採用科學記數法來表示浮點數,比如3.12 x 10 ^2, 5.874545 x 10 ^ 5等。這樣的好處是:小數點固定了。

例如:9.5的二進位制形式為1001.1,按科學計數法為:1.0011 x 2^3

所以公式為

x = a * 2^e

a為浮點數的二進位制表示,範圍為[1,2) ;

e為小數點移動的位數;

float型別**

對於float型資料,其長度是4個位元組,右邊23位用來表示小數點後面的數字,中間8位用來表示e,左邊一位用來表示正 負。

double型別

對於double型資料,其長度是8個位元組,右邊52位用來表示小數點後面的數字.中間11位表示e,左邊一位用來表示正負。如下圖:

|  符號位 | 指數字 |   尾數  |  指數偏移量
| float型別 | 1位 | 8位 |23位 | 127

|double型別 | 1位 | 11位 |51位 | 1023

指數偏移量:2 ^(k - 1),k 為指數為個數

浮點數在計算機中如何儲存

浮點型變數在計算機記憶體中占用4位元組 byte 即32 bit。遵循ieee 754格式標準。乙個浮點數由2部分組成 底數m 和 指數e。mantissa 2exponent 注意,公式中的mantissa 和 exponent使用二進位制表示 底數部分 使用 進製數來表示此浮點數的實際值。指數部...

浮點數在計算機中的儲存

float和double在儲存方式上遵從ieee規範!例如 8.25 整數部分 除2取餘倒排 除法商餘數 8 24 04 220 2 21 01 201 餘數倒排 1000 小數部分 乘2取整順排 乘法 積整數部分 0.25 2 0.50 0.5 2 1.01 整數部分順排 01 前兩步結合的結果為...

浮點數在計算機中是如何表示的

相比int等整型,float等浮點型別的表示和儲存較為複雜,但它又是乙個無法迴避的話題,那麼就有必要對浮點一 竟了。在計算機中,一般用ieee浮點近似表示任意乙個實數,那麼它實際上又是如何表示的呢?下面的表示式裡,i的值是多少,為什麼?如果你不確定答案,那麼你應該好好看看本文。float f 8.2...