發(fā)布時間:2022年04月15日 04:33:30分享人:堇年紙鳶來源:互聯(lián)網(wǎng)23
float變量的精度到底是什么?
一個浮點(diǎn)數(shù)在內(nèi)存中存放的方法:

1、先把這個數(shù)轉(zhuǎn)化成二進(jìn)制數(shù)
例如
327654444 = 10011100001111001110000101100
2、在此基礎(chǔ)上,把它寫成科學(xué)計(jì)數(shù)的形式
327654444 = 1.0011100001111001110000101100e+00011100
3、截取小數(shù)點(diǎn)后23位,后面保留為0,得到:
1.0011100001111001110000100000e+00011100
把小數(shù)點(diǎn)后的bit(23個)存在尾數(shù)位區(qū),把指數(shù)(00011100共8位)存在指數(shù)位區(qū);由于是正數(shù),符號位置0。這樣,就完成了存放。
因此,在C程序中,以下在嗎輸出的結(jié)果將是 327654432.000000
int main(int argc, char *argv[])
{
float a = 327654444;
printf("a = %fn",a);
return 0;
}
由此看出,float類型的精度,從二進(jìn)制科學(xué)計(jì)數(shù)的角度來講,就是1/2^23。這表 示了float類型可表示數(shù)值(在科學(xué)計(jì)數(shù)法表示中)的最小步進(jìn)(基本單元)。
另:float所占的4個字節(jié)的分配如圖:
1bit(符號位) | 8bits(指數(shù)位) | 23bits(尾數(shù)位) |
參考:
http://www.cnblogs.com/tekson/archive/2009/07/16/1524604.html
http://www.fmddlmyy.cn/text60.html
愛華網(wǎng)本文地址 » http://www.klfzs.com/a/25101015/258722.html
更多閱讀

基本數(shù)據(jù)類型C語言中只有4中基本數(shù)據(jù)類型——整型、浮點(diǎn)型、指針和聚合類型(如數(shù)組和結(jié)構(gòu)等);所有其他類型都是從這4種基本類型的某種變化或組合派生而來。一、整型家族整型家族包括char、shortint、int和longint,并且都分為signed和
1,在Win7里移動庫位置稍微麻煩一些,在其它分區(qū)(比如D盤)新建四個文件夾,分別命名為“我的文檔”、“我的音樂”、“我的圖片”、“我的視頻”。打開庫,選中并右擊其中的“我的文檔”,在彈出的快捷菜單里點(diǎn)擊“屬性”,在彈出的“文檔屬性”窗

下載 源代碼用ADO做數(shù)據(jù)庫,有個麻煩的事情就是_variant_t變量的使用,使用本例中封裝的CConvert類轉(zhuǎn)換就方便了。[cpp]view plaincopy

工作也有些年頭了,從一位技術(shù)新人成長到現(xiàn)在自詡小牛級別的人物,少不了要自己尋找資料閱讀。論壇上、書店里、雜志上......要嘛是些菜鳥淺薄的自炫處女貼,要嘛是高屋建瓴云里來霧里去的概念文,好不容易遇到個實(shí)踐型高手寫的文章,卻在漸入

為了定時監(jiān)控Linux系統(tǒng)CPU、內(nèi)存、負(fù)載的使用情況,寫了個Shell腳本,當(dāng)達(dá)到一定值得時候,發(fā)送郵件通知。需要用到Crontab的定時任務(wù)去執(zhí)行這個腳本,但是發(fā)現(xiàn)通過命令(./test.sh)執(zhí)行Shell文件的時候,可以獲取Linux的環(huán)境變量;可是通過Cront