正数的补码就是其二进制形式:如5,可以写成 0101。
负数的补码是其 绝对值 取反 然后加1:如-5, 其绝对值是5(二进制:0101),二进制取反(1010),然后再加上1,则为(1011)。
一个字节等于8位
易混点:例:在基本整型数据中,为什么一个字节的取值范围-128----127??
因为:最大取值是0(0为符号位)111 1111 其十进制就是127
而 最小值是 1000 0000(**这里的1为符号位,代表该数是一个负数,
并且显示的为补码形式,
可以想象下,哪个数的补码是1000 0000呢?
反向推理下,用1000 0000减去1,则得0111 1111,然后再讲0111 1111 取反则得到1000 0000 这个数则为128,
又因为这个数是负数,所以需要在128前面加上负号,则其为-128**)