Java进制转换相关知识学习
前言:
进制转换相关知识。
一、进制
(1)进制分类
对于整型数据有四种进制表达方式,分别是:二进制、八进制、十进制和十六进制。计算机可以识别的进制为二进制。
(2)进制介绍
1)二进制:0,1,满 2 进 1 ,以0b或0B开头。
2)八进制:0 - 7,满 8 进 1,以数字0开头。
3)十进制:0 - 9,满 10 进 1。
4)十六进制:0 - 9 和 a - f 或 A - F,满 16 进 1,以0x或0X开头,a-f表示10-15
二、进制转换
(1)进制转换分组
1)第一组
十进制转二进制;十进制转八进制;十进制转十六进制。
2)第二组
二进制转十进制;八进制转十进制;十六进制转十进制。
3)第三组
二进制转八进制;二进制转十六进制。
4)第四组
八进制转二进制;十六进制转二进制。
(2)转换规则
1)任意进制转 十进制 (按权展开求和)
二进制转十进制方法:
从最低位开始,将每个位上的数提取出来,乘以 2 的 位数-1 次方,然后求和。
八进制转十进制方法:
从最低位开始,将每个位上的数提取出来,乘以 8 的 位数-1 次方,然后求和。
十六进制转十进制方法:
从最低位开始,将每个位上的数提取出来,乘以 16 的 位数-1 次方,然后求和。
演示:
0b1101 = 1 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 1 * 2 ^ 3
= 1 + 0 + 4 + 8 = 13
// 二进制转十进制
0234 = 4 * 8 ^ 0 + 3 * 8 ^ 1 + 2 * 8 ^ 2
= 4 + 24 + 128 = 156
// 八进制转十进制
0x23B = 11 * 16 ^ 0 + 3 * 16 ^ 1 + 2 * 16 ^ 2
= 11 + 48 + 512 = 571
// 十六进制转十进制
2)十进制转任意进制
十进制转二进制方法:
将一个数数不断除以 2,直到商为 0 为止,然后将每次得到的余数倒过来,就是对应的二进制数。
十进制转八进制方法:
将一个数数不断除以 8,直到商为 0 为止,然后将每次得到的余数倒过来,就是对应的二进制数。
十进制转十六进制方法:
将一个数数不断除以 16,直到商为 0 为止,然后将每次得到的余数倒过来,就是对应的二进制数。
演示:
34 => 0b00100010
// 十进制转二进制
34 => 042
// 十进制转八进制
34 => 0x22
// 十进制转十六进制
3)二进制转八进制 和 二进制转十六进制
二进制转八进制方法:
从低位开始,将二进制数每三位分成一组,转成对应的八进制数即可。
二进制转十六进制方法:
从低位开始,将二进制数每四位分成一组,转成对应的十六进制数即可。
演示:
ob11010101 => ob11(3) 010(2) 101(5) => 0325
// 二进制转八进制
ob11010101 => 1101(D) 0101(5) => 0xD5
// 二进制转十六进制
4)八进制转二进制 和 十六进制转二进制
八进制转二进制方法:
将八进制数的每 1 位,转成对应的一个 3 位的二进制数即可。
十六进制转二进制方法:
将十六进制数的每 1 位,转成对应的一个 4 位的二进制数即可。
演示:
0237 => 0 3(011) 3(011) 7(111) => 0b11011111
// 八进制转二进制
0x23b => 0x 3(0011) 3(0011) b(1011) = 0b001100111011
// 十六进制转二进制
- 点赞
- 收藏
- 关注作者
评论(0)