當前位置:編程學習大全網 - 編程軟體 - 編程中小數為什麽 稱為浮點數

編程中小數為什麽 稱為浮點數

具體解釋我也說不怎麽清楚,可以給妳個比較專業的回答,如下:

假如我們的浮點數:

float a=1.0;

在c++中,假設a占用四個字節,則該數可以由32位的0和1表示。具體表示如下:

0 ?01111111 ?00000000000000000000000

符號位 ?階位 ? 尾數

翻譯壹下:符號位代表著該數值的正負,(階位-127)代表著小數點移動的位數 ,尾數代表以1開頭小數點後面的數字:1.00000000000......(23位)

回到上面的例子:0——正,01111111——127,0000000....——1.000000....

則移動的位數:127-127=0,故1.0000000...中的小數點不移動(浮動),然後將其轉為10進制位+1.0;

再舉個例子:0 10000101 11110110000000000000000

以上是個浮點數在內存中的表示:第壹步看符號位0,所以為正,接著10000101=133,所以浮動的位數位133-127=6;接著看1.11110110000000000000000,將其小數點浮動(移動6位)得到:1111101.10000000000000000,將其轉為十進制:+125.5

綜上:浮點數的浮點二字不是空穴來風,而且可以看出4字節的浮點數小數位最多有23位,轉為十進制最多為7位,這也是為什麽float數的精度只有7位的原因。

Cr:feng__shuai的博客

  • 上一篇:文丘裏橋式振蕩器電路不能起振的PSPICE仿真
  • 下一篇:AHD監控攝像頭是什麽?
  • copyright 2024編程學習大全網