我发现很难理解和使用 java 中的这种二进制表示:
在用户 Jon Skeet 的帮助下,我了解到应该以这种方式构建二进制表示。
这是一个代码示例:
public class chack {
public static void main(String[] args) {
int num2=2;
int num3=3;
int num4=4;
int num1=1;
int nirbinary = (num1 << 24) | (num2 << 16) | (num3 << 8) | num4;
System.out.println(nirbinary);
String nir= Integer.toBinaryString(nirbinary);
System.out.println(nir);
}
}
几个问题:
- 如何从一个已经在这个二进制文件中的 int 返回 num1(例如)
- 为什么我在打印
nirbinary
时得到16909060
- 它代表什么? 如何从已经在此二进制文件中的 int 中获取 num1(例如) 代表?
谢谢
最佳答案
我不完全确定你遗漏了什么,所以我将解释如何在 java 中来回将整数转换为二进制字符串。
你可以像这样从一个整数中得到一个二进制字符串:
int i = 1234;
String binString = Integer.toBinaryString(i);
您可以通过这种方式将字符串转换回整数:
int iNew = Integer.parseInt(binString, 2);
请注意 Integer.parseInt() 的第二个参数是所需的数字基数。 2为二进制,8为八进制,10为十进制等。
关于java - Java 中的二进制表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5593401/