计算机硬件基础(二)进制的转换

计算机硬件基础(二)进制的转换

十进制 转 各种进制

整数部分采用 除法 ,小数部分采用乘法

比如 : 十进制数 58.125 转换为 二进制
整数部分:
将58 连续除 2 取余数
第一次取到 0  (58/2=29。。。0)
第二次取到  (29/2=14.。。。1)
第三次取到  (14/2=7.。。。0)
第四次取到   (7/2=3 。。.1)
第五次取到  (3/2=1.。。。1)
第六次取到  (1/2=0。。。。1)

然后向上依次取余数  1110 10
小数部分: 小数部分连续乘2 取整数
第一次  0.125*2=0.25  取 0
第二次  0.25*2=0.5    取 0
第三次 0.5*2=1.0      取 1
然后向下依次取整数 001 
最后加上0.		小数部分就是 0.001B

即 (58.125)D=(111010.001)B

整数部分太过繁琐 所以我将二进制的依次写出

128 64 32 16 8 4 2 1 
然后很快就能把整数部分 58 写成111010

再以十进制转16进制为例

将十进制58.125 转为十六进制
整数部分:
58/16=3.。。10
3/16=0.。。。3
向上依次取余数 3 A (十六进制里10是A)
这里也能用那种简化的方法,与二进制不同,需要将58拆分56可以拆成16的倍数与(56减n个16的倍数)的和。这里n为3 也就是48和(58-48).也就能得到3A的结果

小数部分:
0.125*16=2
再在2 的前面加上 0. 小数部分就是0.2
即(58.125)D= 3A.2H

说明: 后缀 D 表示十进制 B 表示二进制 H 表示16进制 O表示八进制

各种进制转十进制

按位乘以指定进制的次数,

二进制 111010.001 转 十进制
整数部分
    1   	  1		 1	 	 0	  		1	 		 0	 
   1*2^5    1*2^4   1^2^3    0*2^2 	   1*2^1 	     0* 2^0
   
   小数部分
   0		0		1
   0*2^-1  0*2^-2    0*2^-3
   
  最后把他们相加就可以了
十六进制 3A.2 转十进制
整数部分
3        	A   
3*16^1     10*16^0
小数部分
2*16^-1
在把他们相加

二进制转各种进制

转十进制 已经讲了

转八进制是:
二进制的“10110111011”
换八进制时,从右到左,三位一组,不够补0,即成了:
010 110 111 011
然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
结果为:2673 
十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:
0101 1011 1011
运算为:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由于10为A,所以11即B)
1011 = 8+2+1 = 11(由于10为A,所以11即B)
结果为:5BB 

各种进制转二进制 每位拆分 转为二进制

十六进制转二进制

在这里插入图片描述

八进制转二进制

在这里插入图片描述

BCD码的转换

BCD码(Binary-Coded Decimal‎),用4位二进制数来表示1位十进制数中的0~9这10个数码

在这里插入图片描述

缩BCD码非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的00001001表示09.例如00001000B表示十进制数8.

BCD码的运算法则

BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。修正的规则是:当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;如果相加时,本位产生了进位,也需加 6 进行修正。这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。

在这里插入图片描述
在这里插入图片描述

进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丁金金

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

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

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

打赏作者

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

抵扣说明:

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

余额充值