挑战408——组成原理(2)——二进制数和十六进制数

这算是数据的表示运算这一部分的第一篇文章了,这部分多且繁杂,因为我们通常都是以10进制的数进行计算和表示的,用了10几年,突然接受一种新的表示方式难免会导致理解困难。
这篇是基础篇,是学习后面的各种运算的基础,所以得好好看,好好理解。

从10进制->2进制->16进制

我们的日常习惯,是用10进制表示的,如果满10了就向前进一位。比如 9 + 2 = 11. 9 + 2 = 10 + 1,所以向前进一位,剩下的位数填在后面。
那么好端端的为什么我们在机器中不用10进制表示而非要改变常规的思路使用二进制呢?因为这是由计算机的硬件决定的(可以多去百度)。在接下来的学习中,10进制到2进制的转换就是家常便饭了。具体的转换规则暂不多说。
类似的,计算机也常有16进制来表示一些数,如果说二进制是为了让计算机更容易理解我们的10进制表达方式,那么16进制就是为了让我们更容易读懂计算机的表达方式,而且利用16进制数可以快速的在2进制和16进制之间相互转化。(因为4位2进制数恰好可以表示16个数字(即0-15))。16进制数最常用的是在表示物理内存空间的时候,比如我们看到的0xAFFFH等等就是典型的16进制数。

BCD编码

为了方便的表示各二进制与其他进制的转换关系,于是有了BCD编码,编码的种类很多,我们就讲最简单,最常用的8421编码。特点是用4位二进制数表示一位16进制的数
下面的表列出了8421编码的对应项(完全可以自己手动算,要记住下面的这个内容):
在这里插入图片描述
在这里插入图片描述
为什么强调这张表的重要性呢?我们看看怎么转换吧:
比如,给出一个16进制的数036A,我们化为二进制数就可以这样化:

  1. 从末尾开始,将每个16进制的位数都按照形式相应的写出二进制数。
  2. 拼接即可。

所以,直接写出二进制数为:
0000,0011,0110,1010(是不是特别方便?这里的逗号是为了方便观察而加的,实际不存在)。


修改记录:

  • 2022-09-01 17:01:10
    修改格式,修订部分内容
  • 2019-10-18 11:42:13
    发布文章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值