二、八、十、十六进制转换

前言

在计算机中,数字是以一串“0”或“1”的二进制代码来表示的,这是计算机唯一能识别的数据形式。数据必须转化成二进制代码来表示,也就是说,所有需要计算机加以处理的数字、字母、文字、图形、图像、声音等信息(人识数据)都必须采用二进制编码(机识数据)来表示和处理。

r进制转十进制

按权展开,如下:
在这里插入图片描述
a表示数值,r表示进制,n在整数部分表示数值a后有几位数,小数部分以-1开始依次递增数值a所在位数。

二进制转十进制

以小数为例,比如:1101.101(B)转换为十进制(忽略数值为0的计算):

1101.101(B) = 1 * 23 + 1 * 22 + 1 * 20 + 1 * 2-1 + 1 * 2-3= 13.625(D)

八进制转十进制

比如:273(O)转换为十进制:

273(O) = 2 * 82 + 7 * 81 + 3 * 8 0 = 187(D)

十六进制转十进制

比如:28B(H)转换为十进制:

28B(H) = 2 *162 + 8 * 161 + 11 * 160 = 651(D)

十进制转r进制

  • 整数部分:除以r取余数,直到商为0,余数从右到左排列。
  • 小数部分:乘以r取整数,整数从左到右排列。

十进制转二进制

以上面案例进行讲解:13.625(D)

先算整数部分:

13/2=6…余1
6/2=3…余0
3/2=1…余1
1/2=0…余1

下到上结果为1101。

再算小数部分:

0.625 * 2=1.25…取整1
0.25 * 2=0.5…取整0
0.5 * 2=1…取整1

上到下结果为101。把两个结果拼起来,最后结果为:1101.101(B)。

十进制转八进制

之前案例:187(D):

整数部分:

187/8=23…余3
23/8=2…余7
2/8=0…余2

从下到上结果为273(O)。

十进制转十六进制

之前案例:651(D):

整数部分:

651/16=40…余11
40/16=2…余8
2/16=0…余2

从下到上结果为28B(H)

八进制转二进制

每个数值对应三位的二进制:

267(O) = 010 110 111(B)

十六进制转二进制

每个数值对应四位的二进制:

29A(H) = 0010 1001 1010(B)

二进制转八进制

每个二进制三个为一组。需注意小数分组顺序:

  • 整数部分:从右向左进行分组,不足补0。
  • 小数部分:从左向右进行分组,不足补0。

11011001.10101(B) = 011 011 001.101 010 = 331.52(O)

二进制转十六进制

每个二进制四个为一组:

111011001.10101(B) = 0001 1101 1001.1010 1000 = 1D9.A8(H)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值