奥礼网
新记
JAVA中int强制转换byte
如题所述
举报该文章
相关建议 2019-11-06
因为在java中,int类型的占4个字节,而byte占1个字节,所以int类型转化为byte类型时会出现位丢失情况,即将int的低8位作为byte类型的值。int型变量的值为257,对应的二进制是100000001,后8位是00000001,第一个0表示符号位,表示正数,所以变量x的值为1。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://aolonic.com/aa/115wg4gngdkw411ka44.html
其他看法
第1个回答 2019-04-20
int
是32位
4个字节
8位1字节
int转换成byte
前面的3个字节
即24位
直接砍掉
就剩最后一位
所以
266
——(00000000)(00000000)(00000001)(00001010)
==
0001010
=
1*
2
+
1
*2*2*2
=
10
最开始的0
表示是正数
如果是1表示负数
还要先按位取反再加1
然后才能算出来表示的数值
相似回答
大家正在搜