回覆列表
  • 1 # 使用者4618083653657

    同樣是16位二進位制的整數,

    short int x;

    unsigned short int y;

    有符號整型 要 消耗 1 位 用來做符號,剩下的15位 用來存數值。

    與無符號整型 不需要符號位,16位 用來存數值。

    所以他們表示的數值範圍不同。

    有符號整型,正數用原碼錶示,負數用補碼錶示,最小負數(絕對值最大)是 1000 0000 0000 0000 (16進位制 0x8000), 最大正數 0111 1111 1111 1111 (16進位制 0x7fff).

    無符號數 用原碼錶示,最小 0, 最大 1111 1111 1111 1111 (16進位制 0xffff).

    用 C 語言打印出數值來:

    printf("I: %d %d\n", (short) 0x8000, (short) 0x7fff);

    printf("U: %u ", (unsigned short) 0xffff );

    I: -32768 32767

    U: 65535

  • 中秋節和大豐收的關聯?
  • Excel如何讓圖表隨表格篩選的資料而變化?