繁体   English   中英

Java 字节设置操作中的字节符号(+/-)错误

[英]Sign(+/-) error in byte in Java byte setting operations

我正在清除 Java

public byte[] orbits = new byte[38];

现在如果我在做

orbits[24] = (byte)0xFF;

轨道[24] 应该填充 11111111 即 FF(十六进制),而是填充 -1。

C++ 中的此操作完美运行

char orbits[38]
orbits[24] = (char)0xFF;

如何使用字节复制 Java 中的类似情况? 谢谢

好吧,碰巧-1是0xFF。 一切都是正确的。 byte使用二进制补码存储从 -128 到 127 的值。

在 Java 中没有无符号类型。 如果要使用位模式,请使用字节。 在这种情况下,0xFF 和 -1 是一样的。 如果你想使用数字,即 0xFF 实际上是 255 而不是 -1,那么你需要使用更大的类型,比如 short。

暂无
暂无

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

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