所有的整数类型(除了char 类型之外)都是有符号的整数
因为, java的byte是8bit(位),就是8个0/1 来表示。
但是第一位是符号位,表示正数还是负数。所以:
0000 0001表示1, (1×
20)
0000 0000表示0, (0×
20)
计算机中负数的二进制码是是负数的绝对值取反,然后加1.
例如-1的二进制:
-1的绝对值是1(0000 0001);
取反是(1111 1110);
再加 1(0000 0001 );
结果是(1111 1111)
要对一个负数的二进制进行解码,首先对其所有的位取反,然后加1。
例如-1的 二进制 (1111 1111)
取反: 0000 0000 是0
再加1:(0+1=1)
符号位是1,是负数,所以是-1
1000 0000 表示-128, (解码过程:位取反是0111 1111==》127,然后加1==》128,符号位为1,是负数,表示-128)