强制转换数据溢出的后果

内存中操作的是补码,你肉眼看到的是源码。

例如:

强制转换数据溢出的后果_第1张图片
用例


分析:

1.截断前:

130默认是int类型,因此用byte进行强制转换会进行截取。

130的二进制数据是:00000000 00000000 00000000 10000010

计算机在内存中使用补码进行计算的,130的补码是:00000000 00000000 00000000 10000010

2.截断后

130为1000 0010,130的反码为1000 0001,130的源码为1111 1110,其值为-126.

你可能感兴趣的:(强制转换数据溢出的后果)