如何在 Java 中的字节数据类型中存储大于 127 的值



如何在 java 的字节数据类型中存储大于 127 的值。

int b = 160;
System.out.println((byte)b);

它打印-96

注意:我想在BLE设备上写入字节。所以无法转换它 短或内。

您可能希望在字节中存储 128-255 范围内的值。你可以,前提是你不想在同一字节中存储值 -128 到 -1(显然在不同的时间

(。只需在要读取时使用按位和运算符:

b & 0xff

byte的范围是 -128 到 +127 的包含范围。

你不能在byte中存储大于127的数字,尽管你可以滥用-128到-1的范围。由于 -96 的八位模式与二进制编写的 160 匹配,因此可以达到输出 -96。粗略地说,如果您在任何负数中添加 256,或者使用b & 256屏蔽除最后 8 位之外的所有内容,您可以恢复原始号码。

如果要存储 160,请使用char(0 到 65535(、shortint

因此,请使用intlong

最新更新