浮點數相關

2021-08-15 15:18:49 字數 331 閱讀 9674

剛剛看了別人的部落格裡關於浮點數的講解,我用通俗的話總結一下

以浮點數9.0為例子,用二進位制表示為1001.0,科學記數公式為-1^

num = ((-1)^s)  *  m  *  (2^e);//(s表示符號,e表示階乘,m表示有效數字)

簡單來說就是s填0或者1來決定正負,e表示小數點要移位的次數,m表示1.001也就是有效數字,基本就是二進位製版的科學記數法。

float型別有乙個符號位(s),有8個指數字(e),和23個有效數字位(m)

double型別有乙個符號位(s),有11個指數字(e),和52個有效數字位(m)

原文在這,感覺講的挺不錯的。 

浮點數相關

浮點數 float,double 精度問題與巨集定義 define float 單精度 double 雙精度 位元組 4 8 32位 64位 float型別所占用4個位元組則會有32位,而在儲存時,系統會將實型資料分成小數部分和指數二個部分來儲存。由於小數也存在正負,最前面的單獨一位來表示符號位。0...

浮點數相關

4 下面的程式會輸出什麼?include int main 參 該項程式輸出如下所示,0 12 1095237632 原因是 浮點數是4個位元組,12.5f 轉成二進位制是 01000001010010000000000000000000,十六進製制是 0x41480000,十進位制是 109523...

浮點數 儲存

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