回覆列表
  • 1 # 使用者6783729793974

    小數的表示方式有定點數和浮點數兩種,

    這裡補充 一下浮點數的表示

    如 下圖

    -0.0110b = -0.375D

    規格化表示(科學計數法)為 -1.1*2^-2

    以單精度浮點數為例,

    31 位為符號為 1(負數)

    30到23位 為7FH +(-2) = 7DH =0111 1101 b

    其中7FH 為偏移量,因為階數以移碼錶示,偏移量為7FH

    尾數為 1.1 ,各位數的1,是規格化數的1,所有的數都一樣,所以可以預設隱藏

    因此 22 到0 位為 1000000 00000000 00000000

    所以-0.0110 = 10111110 11000000 00000000 00000000 b = BEC0 0000H

    C 語言驗證程式碼:

    #include<stdio.h>

    int main()

    {

    long int x = 0xBEC00000;

    float b = *(float*)&x;

    printf("b=%f\n",b);

    }

  • 2 # 使用者2484343607537

    以8位為例, 補碼的0是唯一表示的:00000000 原碼0可以是:00000000或者10000000 反碼0可以是:00000000或者11111111

  • 中秋節和大豐收的關聯?
  • 如何預防油漆帶來的危害?