在c語言中,單精度有效數字和有效數位

時間 2022-10-30 23:30:06

1樓:崔籟封豆

詳細請檢視iee754

單精度,轉換大概規則是從0到31位

最高位表示正負

第30-23位

這8位表示階碼

後22位表示資料。因此你要把他轉化為ieee754格式才能夠看出來。能表示的最小精度為2的-23次方,結果是0.

00000011920928955078125。但實際上做不到的,資料由於階碼的存在,實際表達精度會下降

2樓:開麗戈華

再推薦一個文章給你看,更詳細的。認真讀完,就知道了。要有耐心啊,比較長。

---浮點數分為單精度(float)和雙精度(double),根據ieee754標準,float型別在計算機內部儲存佔4位元組,double型別佔8個位元組。

無論是單精度還是雙精度在儲存中都分為三個部分:

符號位(sign)

:0代表正,1代表為負

指數位(exponent):用於儲存科學計數法中的指數資料,並且採用移位儲存

尾數部分(mantissa):尾數部分

float:符號1指數

8尾數23double

符號1指數

11尾數52

C語言中關於「有效數字」的問題,在c語言中,有效數字和有效數位怎麼解釋?

當你輸入2.2e2時a 4.84,而輸入2.2e 2時a 0.20661157024793388429752066115702.它們的是float型,放在記憶體中是 2.2e2 01000011 0,1011100 00000000 00000000,2.2e 2 00111100 1,010010...

c語言怎麼求單精度和雙精度數值的範圍

可以看一下,裡面有一些相關的巨集定義。另外,整數的範圍可以看。 電子產品第一線 float和double的範圍是由指數的位數來決定的。float的指數位有8位,而double的指數位有11位,分佈如下 float 1bit 符號位 8bits 指數位 23bits 尾數位 double 1bit 符...

c語言中float輸出的結果從左往右有效數字是6位,但是我編寫這個小程式後怎麼就只有3位有效?望高手解答

想要搞清楚這個問題,你需要了解float型別在記憶體中的儲存結構 符號位 指數 尾數 78.88在記憶體中的結構為 01000010 10011101 11000010 10001111 第一位為符號位,0 後面八位為指數位10000101 最後23位為尾數0011101 11000010 1000...