用8bit表示下列数:128 的原码 反码和补码
我知道是超出了范围,但是总有个值与之相对应的,
比如:我们给一个byte类型的变量赋值 byte b = 128;
很显然,它是超出了范围的,但是计算机也有个表示的方法
(128) = (1000 0000)(这个也是它的补码表示吧)
那么用原码和反码应该如何表示 128 呢?
我知道是超出了范围,但是总有个值与之相对应的,
比如:我们给一个byte类型的变量赋值 byte b = 128;
很显然,它是超出了范围的,但是计算机也有个表示的方法
(128) = (1000 0000)(这个也是它的补码表示吧)
那么用原码和反码应该如何表示 128 呢?
补码就是原码求反+1
正数补码不变,负数才是原码求反+1
和数字的正负没有关系!!因为正数一般用原码表示,负数用补码表示。
不要混淆概念和应用!
又:正数一般用原码表示,java中不是都用补码表示吗?