Java byte 踩坑基础
作者:互联网
简介
在Java中,byte类型的数据是8位带符号的二进制数。8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]
在Java 里 0xAA 和 (byte)0xAA 表示的值是不一样的
原因:因为如果我们没有强制转换为byte,那么0xAA 表示的就是正常的int类型的数值,而不是8位的byte,计算出来的值肯定是不一样的。
(byte)0xAA int 值为-86
我们可以用以下方法去计算一个byte 的值: byte a = (byte)0b10101010;
我们看下以下案例:
我们使用计算机看下:
我们使用计算机看下:
注意:
0xAA 表示的是一个字节,而不是两个!因为AA 表示的是8位,所以0xAA 表示一个字节,这点在二进制编码过程中要注意!
使用技巧:
我们可以修改最后两位为AA,然后在粘贴到十六进制里面,查看对应的int值
FFFFFFFFFFFFFFAA
参考:
https://www.cnblogs.com/zl181015/p/9435035.html
标签:带符号,Java,int,基础,0xAA,二进制,byte 来源: https://blog.csdn.net/u013270444/article/details/119043860