不同进制之间的相互转换

本文详细介绍了不同进制之间的转换方法,包括二进制、八进制、十进制和十六进制。通过举例说明了如何将这些进制转换为十进制,以及如何从十进制转换为其他进制。此外,还阐述了二进制与其他进制之间的转换规则,如二进制转八进制、十六进制,以及八进制、十六进制转二进制的步骤。
摘要由CSDN通过智能技术生成

不同进制之间的相互转换

一:进制的介绍

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值