天天看点

关于int类型强制转换成byte类型值的问题关于int类型强制转换成byte类型值的问题

关于int类型强制转换成byte类型值的问题

关于int类型强制转换成byte类型值的问题关于int类型强制转换成byte类型值的问题

超过byte类型取值范围的int类型数值,强转为byte类型时,输出的结果为int类型数值二进制码损失精度后的补码在转换成十进制

int类型变量所占内存大小为4字节,1字节又是8比特位(信息最小单位)

所以 int a=1000; 转换成二进制为:

00000000 00000000 00000011 11101000

又因为byte类型占内存大小是1字节所以int类型强转byte类型时会发生精度缺失,只保留后八位如下:

11101000(原码为能看得出大小的二进制码) 它的补码又为:10011000

(补码首位为代表符号 0为正 1为负)

所以1 0011000转换成十进制为24,加上前面的首位符号为-24,既输出结果为-24