【发布时间】:2013-01-22 07:17:41
【问题描述】:
嘿,我需要将以下十六进制值存储在一个字节数组中 - 0xCAFEBABEDEADBEEF。
所以我试着像这样存储它。
byte[] v0 = {11001010,11111110,10111010,10111110,11011110,10101101,10111110,11101111};
其中 11001010 是二进制的 CA,11111110 是二进制等的 FE。
但是我得到一个错误,说 11001010 是一个 int,所以我认为这是因为字节在 java 中是有符号字节,我们只能有 +127 和 -128 之间的值。
那么有没有办法在java中做到这一点(也许使用无符号字节......如果它们存在!?) 谢谢大家。
【问题讨论】:
-
这取决于您使用的 Java 版本。对于 1.7,您可以为每个二进制值添加前缀“0b”,否则您将不得不使用十六进制并在每个十六进制值前添加“0x”。