繁体   English   中英

如何将二进制值存储到字节数组中

[英]How to store a binary value into a byte array

我使用了以下语句byte[3]=(byte)0x80 0x80是十六进制值128,并且我也尝试过此语句byte [3] =(byte)128

在第一种情况下,打印时第二种情况下输出为-128,输出为-1

现在我该如何解决。 还有什么其他方法可以将10000000存储到字节数组中

问题不在于您如何输入价值,而在于如何获取价值。

byte[] bytes = new byte[4];
bytes[3] = (byte) 128;
int num = bytes[3] & 0xFF; 
System.out.println(num);

版画

128

计算机无论如何都以二进制形式存储值,似乎您的问题是以二进制形式输出它。

Integer.toBinaryString(字节[3]);

应该可以。

编辑:误读了您的问题,但是正如其他人所说的那样,您需要确保该变量未签名以存储大于127的正值。

A[0]=      x  & 255
A[1]= (x>> 8) & 255
A[2]= (x>>16) & 255
A[3]= (x>>24) & 255
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM