當前位置:編程學習大全網 - 網站源碼 - C語言,原碼補碼轉換,-12345求其補碼,求教!

C語言,原碼補碼轉換,-12345求其補碼,求教!

正數原、反、補碼相同。

負數的原碼、反碼、補碼不同。

以兩個字節(16位)為例(short類型)來理解壹下:

(-1)原=1000 0000 0000 0001 最高位為符號位1負,0正,數據總長度為16bits

(-1)反=1111 1111 1111 1110 原碼除符號位外,逐位取反

(-1)補=1111 1111 1111 1111 反碼+1

由此,我們來看-12345的補碼:

(-12345)原=1011 0000 0011 1001

(-12345)反=1100 1111 1100 0110

(-12345)補=1100 1111 1100 0111

感覺妳理解出錯,是因為沒有按字節來認識數據的存儲,計算機中的數據最小存儲單位為字節,壹個字節占8位,壹般情況下(32位機)數據的存儲空間大小定義為:

char 1byte

short 2bytes

int 4bytes

long 4bytes

float 4bytes

double 8bytes

在C語言程序中,可以用sizeof命令來查看某類型的空間大小,如:printf("%d" , sizeof(long) );可以自己寫程序測試壹下妳的機器。

  • 上一篇:完美國際字母雷火咒能與土靈機疊加嗎
  • 下一篇:從哪些指標看到籌碼集中度
  • copyright 2024編程學習大全網