浮點數在記憶體中的儲存方式為:符號位 指數字 尾數
型別f符號位
指數尾數
float
1位(第31位)
8位(第23位--30位)
23位(第0--22位)
double
1位(第63位)
11位(第52位--62位)
52位(第0--51位)
浮點數的轉換:
對於指數6:
實數8.25在記憶體中的float表實:8.25的二進位製表實:1000.01-》1.00001*(2^3)
記憶體中8.25的float表示:
**示例1:
#include intmain()
用float存貯8.25,然後用乙個unsigned int型別的指標指向它,最後輸出這個指標類容的16進製制
有趣的問題:int型別的存貯範圍是 -2^31~~2^31-1,float的存貯範圍是-3.4*10^38~~3.4*10^38,為什莫在記憶體中都是4個位元組,但是存貯的範圍差距這莫大?
**示例2:
#include intmain()
為什莫輸出結果會折磨奇怪呢,就是因為浮點數不是精確的,它是不連續的存在間隙
小結:
c語言整數轉浮點數 浮點數的秘密
我們在學習 c 語言時,通常認為浮點數和小數是等價的,並沒有嚴格區分它們的概念,這也並沒有影響到我們的學習,原因就是浮點數和小數是繫結在一起的,只有小數才使用浮點格式來儲存。其實,整數和小數可以都使用定點格式來儲存,也可以都使用浮點格式來儲存,但實際情況卻是,c 語言使用定點格式儲存整數,使用浮點格...
C語言高階剖析 3 浮點數的秘密
浮點數在記憶體中的儲存方式為 符號位,指數,尾數 型別符號位 指數尾數 float 1位 第31位 8位 第23 30位 23位 第0 22位 double 1位 第63位 11位 第52 62位 52位 第0 51位 float 與 double 型別的資料在計算機內部的表示法是相同的,但由於所佔...
3 浮點數的秘密
浮點數在記憶體的儲存方式為 s m 2 n主要由三部分構成 符號位 指數 n 尾數 m 型別符號位 指數尾數 float 1位 第31位 8位 第23 30位 23位 第0 22位 double 1位 第63位 11位 第52 62位 52位 第0 51位 float和double型別的資料在計算機...