欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

不同进制之间的相互转换

程序员文章站 2024-03-15 13:06:35
...

不同进制之间的相互转换

一:进制的介绍

1.对于整数,有四种表示方式:

① 二进制:0,1 满 2 进 1。以0b 或者 0B开头

int n = 0b1010

②十进制:0 - 9 满10进1。

int a = 1010

③八进制:0 - 7 满 8 进1。以数字0开头表示

int b = 01010

④十六进制:0 - 9 以及 A(10) - F(15),满16进1。以0x或者0X开头表示。

​ 此处的A-F不区分大小写。

int c = 0x10101

二:进制转换之其他进制转换为十进制

1.二进制转换成十进制

规则:从最低为(右边)开始,将每个位上的数提取出来,乘以2的(位数 - 1)次方,然后求和。

案例:将0b1011转成十进制数
0b1011 = (1 * 2^0) + (1 * 2^1) + (0 * 2^2) + (1 * 2^3) = 1 + 2 + 0 + 8 = 11 

2.八进制转成十进制

规则:从最低为(右边)开始,将每个位上的数提取出来,乘以8的(位数 - 1)次方,然后求和。

案例:将0234转换成十进制
0234 = (4 * 8^0) + (3 * 8^1) + (2 * 8^2) = 4 + 24 + 128 = 156

3.十六进制转成十进制

规则:从最低为(右边)开始,将每个位上的数提取出来,乘以16的(位数 - 1)次方,然后求和。

案例:将0x23A转换成十进制
0x23A = (10 * 16^0) + (3 * 16^1) + (2 * 16^2) = 10 + 48 + 512 = 570

三:进制转换之十进制转换为其他进制

1.十进制转换成二进制

规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

案例:将34转化为二进制
34 = 0B00100010

2.十进制转换成八进制

规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。

案例:将131转换成八进制
98 = 0142

3.十进制转换成十六进制

规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

案例:将237转换成十六进制
237 = 0xED

四:二进制转换成八进制和十六进制

1.二进制转换成八进制

规则:从低位开始,将二进制数每三位一组,转换成对应的八进制数即可

案例:将0B11010101 转换成八进制
0B11010101 = 0325

2.二进制转换成十六进制

规则:从低位开始,将二进制数每四位一组,转换成对应的十六进制数即可

案例:将0B11010101转换成十六进制
0B11010101 = 0xD5

五:八进制、十六进制转换成二进制

1.八进制转换成二进制

规则:将八进制数的每一位,转成对应的一个3位的二进制数即可

案例:将0237转换成二进制
0237 = 02(010)3(011)7(111) = 0 1001 1111 = 1001 1111

2.十六进制转换成二进制

规则:将十六进制数的每一位,转成对应的一个4位的二进制数即可

案例:将0x23B转换成二进制
0x23B = 0x2(0010)3(0011)B(1011) = 0010 0011 1011

上一篇: 100以内的质数

下一篇: 筛法求素数