Java 转成二进制

介绍

二进制是计算机中最基础的数据表示形式。在计算机领域中,二进制常用于表示数字、文字和图像等信息。在本文中,我们将讨论如何使用 Java 将数字转换为二进制表示。

二进制表示

在计算机中,二进制表示使用了二进制数系统,它只包含两个数字:0 和 1。每个二进制位(bit)可以表示一个二进制数。

例如,一个8位二进制数可以表示从 0 到 255 的数字范围,如下所示:

二进制数 十进制数
00000000
00000001 1
00000010 2
00000011 3
... ...
11111110 254
11111111 255

Java 中的二进制转换

在 Java 中,我们可以使用位运算符和逻辑运算符来进行二进制的转换。以下是一些常用的方法。

十进制转二进制

要将十进制数转换为二进制表示,我们可以使用位运算符和逻辑运算符来逐位获取二进制位的值。

下面是一个 Java 方法,将一个正整数转换为二进制字符串:

public static String decimalToBinary(int decimal) {
    StringBuilder binary = new StringBuilder();

    while (decimal > 0) {
        int remainder = decimal % 2;
        binary.insert(0, remainder); // 将余数插入字符串的开头
        decimal = decimal / 2;
    }

    return binary.toString();
}

让我们来看一个例子:

int decimal = 10;
String binary = decimalToBinary(decimal);
System.out.println("二进制表示为: " + binary);

输出结果将是:

二进制表示为: 1010

二进制转十进制

要将二进制数转换为十进制表示,我们可以使用逆向的方法。即,从二进制的最右边开始,逐位相加。

下面是一个 Java 方法,将一个二进制字符串转换为十进制数:

public static int binaryToDecimal(String binary) {
    int decimal = 0;
    int power = 0;

    for (int i = binary.length() - 1; i >= 0; i--) {
        int bit = Character.getNumericValue(binary.charAt(i));
        decimal += bit * Math.pow(2, power);
        power++;
    }

    return decimal;
}

让我们来看一个例子:

String binary = "1010";
int decimal = binaryToDecimal(binary);
System.out.println("十进制表示为: " + decimal);

输出结果将是:

十进制表示为: 10

总结

在本文中,我们讨论了如何使用 Java 将数字转换为二进制表示。我们学习了十进制转二进制和二进制转十进制的方法,并提供了相应的代码示例。希望本文能帮助你更好地理解和使用二进制表示。

参考

  • [Java 位运算符和逻辑运算符](
st=>start: 开始
op1=>operation: 十进制转二进制
op2=>operation: 二进制转十进制
e=>end: 结束

st->op1->op2->e

附录

十进制转二进制代码示例

public static String decimalToBinary(int decimal) {
    StringBuilder binary = new StringBuilder();

    while (decimal > 0) {
        int remainder = decimal % 2;
        binary.insert(0, remainder); // 将余数插入字符串的开头
        decimal = decimal / 2;
    }

    return binary.toString();
}

二进制转十进制代码示例

public static int binaryToDecimal(String binary) {
    int decimal = 0;
    int power = 0;

    for (int i = binary.length() - 1; i >= 0; i--) {
        int bit = Character.getNumericValue(binary.charAt(i));
        decimal += bit * Math.pow(2, power);
        power++;
    }

    return decimal