原码:原码是一种计算机中对数字的二进制定点表示方法,最高位为符号位,0为正,1为负。
正数的反码、补码等于其原码本身。
负数的反码:负数的反码为其原码取反(符号位不变)
负数的补码:负数的补码为其反码+1(即负数补码=原码取反+1(符号位不变))
负数的补码的补码等于其原码(类似于负负得正)
计算机在存储某个数据时,是存储数据的补码。下面解释下为什么 byte b = (byte) 130会等于-126
byte b = (byte)130 //b=-126
(1)130 为int类型正整数,其原码(补码)为 00000000 00000000 00000000 10000010
(2) 将其转为byte类型,8位,所以只截取其原码(补码)的后8位,为 10000010
(3)最高位为1,可以看出其截取后的二进制表示负数补码,求其原码为 11111110 其对应的十进制为 -126