[英]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.