java - Java 中的二进制表示

标签 java binary

我发现很难理解和使用 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);
    }
}

几个问题:

  1. 如何从一个已经在这个二进制文件中的 int 返回 num1(例如)
  2. 为什么我在打印 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/

相关文章:

python - 为什么这个二进制文件的大小是相等的,尽管它们不应该相等?

java - 使用 spring-data-jpa 和 spring-mvc 过滤数据库行

java - 使用 Jackson/Java 来确保所有序列化到 JSON 都在单引号或双引号内分隔不受信任的数据以转义任何特殊字符?

c - 计算任意大二进制数之和的最快方法是什么

JavaScript:一个字节应该是 8 位

python - 在 Python 中的二进制数中添加下划线作为分隔符

Python 二进制乘法。分而治之

java - <absolute-ordering> 在 tomcat 7 中不起作用

java - Java 需要闭包吗?

java - 循环中的逻辑错误导致不需要的输出