进制间的相互转换方法详解(配案例)

= = = = = 进制及相互转换 = = = = =

一、进制介绍:
对于整数,有四种表示方式:
1、二进制:0,1,满2进1。以0B或0b开头。
例:int n1 = 0b1010;

2、十进制:0-9,满十进一。
例:1010;

3、八进制:0-7,满8进一,以数字0开头表示。
例:01010;

4、十六进制:0-9及A(10)-F(15),满16进一。以0x或0X开头表示。.此处A-F不区分大小写。
例:int n4 = 0x10101;

二、进制转换
可分为四组
第一组:
1.二进制转十进制
2.八进制转十进制
3.十六进制转十进制

第二组:
1.十进制转二进制
2.十进制转八进制
3.十进制转十六进制

第三组:
1.二进制转八进制
2.二进制转十六进制

第四组
1.八进制转二进制
2.十六进制转二进制

一、第一组其它进制转十进制
规律:从最低位(右边)开始,将每个位上的数提取出来,乘以目标进制数的(位数-1)次方,然后求和
例:
0b1101(二进制)转十进制:即1乘2的0次方 + 0乘2的1次方 + 1乘2的2次方 + 1 乘 2 的3次方
0x1101(十六进制)转十进制:即1乘16的0次方 + 0乘16的1次方 + 1乘16的2次方 + 1 乘 16的3次方

是几进制就用该位上的数 乘几的(位数 - 1 )次方,然后求和。

**二、第二组,十进制转其它进制(除几反向取余法)
转几进制就除以几,然后把
余数按倒序
的顺序组合即可。
1、例:十进制转二进制:13
13/2 = 6,余1
6/2 = 3, 余0
3/2 = 1,余1
1/2 = 0,余1、
倒序取余,结果为:0b1101
2、例:十进制转十六进制:88
88/16 = 5,余8
5/16 = 0,余5
倒序取余,结果为:OX58

第三组二进制转八进制、十六进制
1、二进制转八进制
规则:从低位到高位(从右到左),每三位为一组,然后按顺序写出对应的八进制即可

例:0b1101101转换为八进制
从低位到高位拆分成三位一组:
1 101 101
(1)(5) (5)
所以八进制为:0155

2、二进制转十六进制:
规则:从低位到高位(从右到左),每四位为一组,然后按顺序写出对应的十六进制即可

例:0b1110101111101100110 转换为十六进制
从低位到高位拆分成四位一组:
111 0101 1111 0110 1101
(7) (5) (F) (6) (D)
所以对应的十六进制为:0X75F6D

第四组八进制、十六进制转换为二进制
1、八进制转换为二进制(二进制转换为八进制反过来即可)
规则:将八进制的每一位都转成对应的一个 3 位的二进制
例:0267
2 6 7
(010) (110) (111)
所以结果为:0b10110111

2、十六进制转换为二进制(二进制转换为十六进制反过来即可)
规则:将十六进制的每一位都转成对应的一个 4 位的二进制
例:OX18DF61
1 8 D F 6 1
(0001) (1000) (1101) (1111) (0110) (0001)
所以结果为:OX1 1000 1101 1111 0110 0001

以上。
如果内容对你有一点帮助的话不要忘了点个赞呀~

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值