gpt4 book ai didi

java - 如何在java中将字节重新解释为整数?

转载 作者:行者123 更新时间:2023-12-02 03:19:37 24 4
gpt4 key购买 nike

我在不同类型的转换方面遇到问题。在我的代码中,我尝试使用字节,然后将它们转换为整数,以便能够将整数中的 x 位数写入某种存储中。

问题是,当我将负数作为字节并将其转换为整数时,整数的位表示形式将所有前导位设置为 1。因此,当我尝试保存整数中的 10 位时,我得到的前导位为 1,而不是我预期的 0。

有没有办法将字节重新解释为整数,同时保持位表示相同?我不需要关心整数的实际数值。

在 C++ 中,我习惯使用无符号值来防止此问题,但现在我不知道如何在 java 中处理仅限于有符号整数的问题。

示例:

/*
decimal: -28
as byte: 11100100
as integer: 11111111111111111111111111100100
needed/expected integer: 00000000000000000000000011100100
*/
import java.util.*;
import java.lang.*;
import java.io.*;

class MyClass
{
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(Integer.toBinaryString((byte)-28));
}
}

https://ideone.com/VE960u

最佳答案

yourInt = yourByte & 255;

只需屏蔽掉不需要的部分即可。

关于java - 如何在java中将字节重新解释为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39819655/

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