16位补码能表示的范围是多少?32位的呢?

如题所述

第1个回答  2020-05-03
正数的补码与其原码相同,负数的补码为其反码在最低位加1。
  【例2】(1)X=+1011011
(2)
Y=-1011011
  (1)根据定义有:
[X]原码=01011011
[X]补码=01011011
  (2)
根据定义有:
[Y]原码=11011011
[Y]反码=10100100
  [Y]补码=10100101
  补码表示的整数范围是-2n-1~+(2n-1-1),其中n为机器字长。
  则:8位二进制补码表示的整数范围是-128~+127
16位二进制补码表示的整数范围是-32768~+32767
  当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出