目录
一、进制
在 Java 编程语言中,进制(也称为基数或数字系统)是一个重要的概念,因为它涉及到如何表示和操作不同的数字格式。Java 支持几种常见的进制系统,包括二进制、八进制、十进制和十六进制。
1.1 二进制
- 定义:二进制系统的基数为 2,只使用数字 0 和 1。
- 表示方法:在 Java 中,二进制数以
0b
或0B
开头。 - 示例:
0b1010
表示十进制的 10。
1.2 八进制
- 定义:八进制系统的基数为 8,使用数字 0 到 7。
- 表示方法:在 Java 中,八进制数以
0
开头。 - 示例:
017
表示十进制的 15。
1.3 十进制
- 定义:十进制是我们最常用的数字系统,基数为 10。它使用数字 0 到 9。
- 示例:1234(十进制数)
1.4 十六进制
- 定义:十六进制系统的基数为 16,使用数字 0 到 9 和字母 A 到 F(或 a 到 f)。
- 表示方法:在 Java 中,十六进制数以
0x
或0X
开头。 - 示例:
0x1F
表示十进制的 31。
1.5 进制转换基本操作
将字符串转换到不同进制
int decimal = Integer.parseInt("1010", 2); // 从二进制字符串转换为十进制
int octal = Integer.parseInt("17", 8); // 从八进制字符串转换为十进制
int hex = Integer.parseInt("1F", 16); // 从十六进制字符串转换为十进制
将整数转换为不同进制的字符串
int number = 30;
String binaryString = Integer.toBinaryString(number); // 转换为二进制字符串
String octalString = Integer.toOctalString(number); // 转换为八进制字符串
String hexString = Integer.toHexString(number); // 转换为十六进制字符串
1.6 基本函数
-
Integer.parseInt(String s, int radix)
: 将字符串s
解析为指定进制radix
的整数。 -
Integer.toBinaryString(int i)
: 将整数i
转换为二进制字符串。 -
Integer.toOctalString(int i)
: 将整数i
转换为八进制字符串。 -
Integer.toHexString(int i)
: 将整数i
转换为十六进制字符串。
1.7 其他进制转换为十进制或者十进制转换为其他进制
其他进制转换到十进制的原理是将每个位上的数乘以其对应的权重(即该进制的幂),然后将这些乘积相加。
十进制转换到其他进制的原理是将十进制数除以目标进制的基数,记录下余数,然后用商继续除以目标进制的基数,直到商为零,最后将所有余数倒序排列。