我在Java中贬低
public byte[] orbits = new byte[38];
现在,如果我正在做
orbits[24] = (byte)0xFF;
orbits [24]应该由11111111填充,即FF(十六进制),而是填充-1。
C ++中的这个操作完美地运行
char orbits[38]
orbits[24] = (char)0xFF;
如何使用byte复制Java中的类似情况? 感谢
答案 0 :(得分:6)
嗯,只是发生了-1是0xFF。一切都是正确的。 byte
使用two's complement存储-128到127之间的值。
在Java中没有无符号类型。如果要使用位模式,则使用byte。在这种情况下,0xFF和-1是相同的。如果你想使用数字,即0xFF实际上是255而不是-1,那么你需要使用更大的类型,比如short。