gpt4 book ai didi

java - 位运算转换为整数

转载 作者:太空狗 更新时间:2023-10-29 22:54:42 26 4
gpt4 key购买 nike

我有一些二进制操作没有像我预期的那样工作。我有字节数组,前 2 个字节具有这些值:0x5 和 0xE0。我想将它们组合成一个应该为 0x5E0 的整数值。我试过这样做:

int val = (b[i]) << 8 | b[i+1];

但是输出的值是 0xFFFFFFEE0 并且第一个字节 0x5 丢失了

我以为这很容易?我做错了什么?

最佳答案

尝试:int val = ((b[i] & 0xff) << 8) | (b[i + 1] & 0xff) .字节(不幸的是)在 Java 中是有符号的,因此如果设置了高位,则在转换为整数时会对其进行符号扩展。

关于java - 位运算转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31382949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com