八进制:013
换算成十进制:换算成十进制:3X8^0 + 1x8^1=11;
十六进制:0xaf
换算成十进制:15x16^0+10x16^1 =175;
反码 补码 原码
原码直接将一个数值转换成二进制数;
补码计算规则:正数的补码和原码完全相同,负数的补码是其反码加1,反码是对原码按位取反,最高位(符号位)保持不变
当int类型的233强制类型转换为8位的byte类型是,会出现内存溢出的情况:
byte类型,则需要截断前面的24位,只保留右边8位,最左边的1是一个符号位,此处表明这是一个负数,负数在计算机里是以补码形式存在的,因此还需要换算成原码。
将补码减1得到反码形式,再将反码取反就可以得到原码。最后的二进制原码为10010111,这个byte类型的值为-(16+4+2+1),也就是-23。