计算机中的数据运算都是以补码的形式进行的,例如:byte b1 = (byte)140;将140强转成byte类型,由于计算机中的数据都是以补码的形式进行的,所以首先要将十进制的140转换成二进制是:1000 1100,由于140默认的是int类型,因此,140的二进制是4个字节,140的二进制是:00000000 00000000 00000000 10001100,
其次,计算140的补码,由于140的首位是0,因此,140的补码和原码一致,补码为:00000000 00000000 00000000 10001100。对140进行强制类型的转换后的补码就是10001100。(截取140的后8位)这是一个负数,要求它的原码,得到为11110100,这是数的十进制是:-116。 |
|