软考1:数据的表示-----进制转换

所谓进制转换,就是将一种进制的数字转换为另一种进制的数字。数字的表示形式虽然改变了,但是数字的值并没有变。

注意:无论是几进制,其数的大小不能超过该进制数的大小。例如二进制只能用0和1表示,逢2则进一,所以不存在比二大的数,其他进制类似。对于十六进制,从十开始到十六,分别用ABCDEF表示。

(1)R 进制转换成十进制

R进制转换成十进制,每一位数值用R^k表示,几进制底数就为几,k从右向左开始数分别为0,1,2,3,4........(不含小数部分),若含小数,则从小数后面开始从左往右分别为-1,-2,-3......

例:二进制转换为十进制:10101

计算规则:每一位数值用R^k表示,因为是二进制,所以此时的R=2,从右向左开始,k分别为0,1,2,3,4,所以最终的为1x2^4+0x2^3+1x2^2+0x2^1+1x2^0=16+4+1=21

例:七进制转换为十进制:302.01

 原理同上:302.01=3x7^2+0x7^1+2x7^0+0x7^{-1}+1x7^{-2}

(2)十进制转R进制

一般使用最多的就是短除法

例:95转二进制:

95÷2=47......1  (47余1)

47÷2=23......1  (23余1)

23÷2=11.......1(11余1)

11÷2=5.......1 (5余1)

5÷2=2.......1 (2余1)

2÷2=1.......0 (余0)

最后整除完剩一个1,要给他补全,从下到上取余数  1011111,所以最终结果就是1011111

反过来验证:1\cdot 2^{6}+0\cdot 2^{5}+1\cdot 2^{4}+1\cdot 2^{3}+1\cdot 2^{2}+1\cdot 2^{1}+1\cdot 2^{0}=64+16+8+4+2+1=95

除了短除法,还可以用减法来计算,规则就是用给的数每次减去离该数最近的二的倍数。

离95最近的2的倍数是2^{6}=64

则95-2^{6}=31

 31-2^{4}=15

15-2^{3}=7

7-2^{2}=3

3-2^{1}=1

1-2^{0}=0

根据式子可以看出2的指数分别为6,4,3,2,1,0有值,所以位数有的就用1代替,没有的就用0代替

 则最终结果就是1011111,与短除法结果相同

(2.1)小数转二进制

例子:十进制176.0625转换为二进制

首先将整数部分176通过短除法得到二进制10110000.

再将小数部分0.0625进行二进制求解,小数求二进制与整数部分不同,整数是通过短除法,小数恰好相反,进行乘法,知道整数位有值为止

0.0625x2=0.1250            0

0.1250x2=0.2500            0

0.2500x2=0.5000            0

0.5000x2=1.0000            1

所以小数部分的二进制为0001(从上到下排)

所以整个的二进制就是10110000.0001

(3)二进制转R进制

例:二进制转八进制(三位一组)

10001110 = 10,001,110=010,001,110(不足三位的用0补齐)=216

同理,大家可以去计算一下转16进制的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mozzm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值