八进制与十六进制
八进制与十六进制
八进制
满八进一
十进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
八进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 |
/*
1. 八进制:满八进一
2.
十进制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
八进制 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
3. 十进制转换成八进制:
除 8 取余,一直到商 0 为止,最后将所有的余数逆序输出
4. 八进制转换成十进制:
每一位与权值相乘,最后求和
*/
public class octalTest {
public static void main(String[] args) {
// 十进制转换成八进制
// 以下字面量是一个八进制的字面量
// Java 中规定,以 0 开始的字面量是一个八进制的字面量
System.out.println(0211); // 137
}
}
十六进制
十进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
十六进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1a | 1b | 1c | 1d | 1e | 1f | 20 |
/*
1. 十六进制:满十六进一
2.
十进制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
十六进制 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20
3. 十进制转换成十六进制:
除 16 取余,一直到商 0 为止,最后将所有的余数逆序输出
4. 十六进制转换成十进制:
每一位与权值相乘,最后求和
*/
public class hexadecimalTest {
public static void main(String[] args) {
// 十进制转换成十六进制
// 如果一个字面量以 0x 开始,后面的值是一个十六进制的值
System.out.println(0x146); // 326
// 十进制
System.out.println(10); // 10
// 八进制
System.out.println(010); // 8
// 二进制
System.out.println(0b10); // 2
// 十六进制
System.out.println(0x10); // 16
}
}
二进制转十六进制
将二进制数从右往左每四位一组,不足四位则在左侧补 0,得到若干个四位二进制数
将每四个二进制数转换为对应的十六进制数
十六进制转二进制
- 将十六进制中的每个数字转换为 4 个二进制位
/*
二进制和十六进制之间的转换。
*/
public class hexadecimalTest {
public static void main(String[] args) {
System.out.println(0b10111111); // 191
System.out.println(0xbf); // 191
System.out.println(0xb1e2); // 45538
System.out.println(0b1011000111100010); // 45538
}
}
Powered by Waline v3.0.0-alpha.11