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
















