gpt4 book ai didi

java - 在字节数组到字符串转换期间防止符号扩展

转载 作者:行者123 更新时间:2023-12-02 11:48:24 25 4
gpt4 key购买 nike

示例代码中的 BYTEMASK 标志可防止值在转换为 int 时进行有符号扩展。该标志如何防止转换形式被符号扩展?

private final static int BYTEMASK = 0xFF;

private static String byteArrayToDecimalString(byte[] bArray) {
StringBuilder rtn = new StringBuilder();
for(byte b : bArray)
rtn.append(b & BYTEMASK).append(" ");
return rtn.toString();
}

最佳答案

正如其他人在评论中已经提到的那样,字节掩码不会阻止符号扩展,而是会撤消它。例如:

0x80 -- sign extend -> 0xffffff80 -- mask with 0xff -> 0x00000080

关于java - 在字节数组到字符串转换期间防止符号扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48049672/

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