进制转换方法

基础概念

计算机通信和存储的时候都是以010101这样的二进制数据为基础的,这儿的一个0和1占的地方就叫bit(位),即一个二进制位,

一个字节 byte 是八位,即八个二进制位。

不同进制的产生:

2进制,逢2进1

4进制,逢4进1

。。。。。。

16进制,逢16进1

16进制标示:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

运算

x进制 —— 10 进制 

例1:

x为二进制 x=0110

公式:从右向左(低位到高位)0*2^0+1*2^1+1*2^2+0*0^3=6

例2:

x为16进制 x=5E

公式:从右向左(低位到高位)E=15   15*16^0+5*16^1=  95

10进制——x进制

方法:将10进制的数除以x,一直除到除不尽为止,没一次执行除以的操作的余数倒叙排列就是结果

列3:

x为2进制 10进制数为1234

1234/2 = 617 余 0

617/2 = 308 余 1

308/2 = 154 余 0

154/2 = 77 余 0

77/2 = 38 余 1

38/2 = 19 余 0

19/2 = 9 余 1

9/2 = 4 余 1

4/2 = 2 余 0

2/2 = 1 余 0

1/2 = 0 余 1

结果二进制为 100 1101 0010

可以看到以上运算比较繁琐,因为进制越小,位数越多(例1,2),除数越小(例3),所有计算步数会越多。

我们发现二进制是8位,16进制是32位,4位的二进制转换为16进制为1位,2进制与16进制转换会很方便。

例4:二进制为1111,对应10进制数值为8+4+2+1=15, 15对应16进制为F,

例5:16进制为E, 对应10进制数值为14,根据例1,如果转为二进制需要8,4,2,1这四个数组合,14组合为8,0,2,1,所有对应二进制就为1011

这样:

例1中二进制转10进制,为了不那么多相乘运算就可以先转为16进制,然后由16进制转为10进制

例3中10进制转二进制,为了不那么多除以运算就可以先转为16进制,再由16进制转为二进制

可能会有疑问例4中二进制转10进制很容易,为什么要转16进制再转10进制呢,这是因为例4的二进制只有4位,如果很多位,那用例4 的方法就会快捷一些,

如例6:二进制为0110 1111,这样转10进制就需要好多相乘运算,先转16进制试试看:

0110 1111 转16进制 根据例4 中的8421, 0110 为 6,16进制为6 ;1111为15,16进制为F,转为16进制结果为6F,再依据例1 计算 F*16^0+6*16^1 = 111.

例5同样道理。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值