数电(第一章 数制和码制)

一、本章重点

1.数制以及数制之间的转换(高频考点)

2.原码、反码、补码(高频考点)

3.几种常见的编码(一般考点)

二、常见的进制及其转换

1、常见的进制

二进制(Binary)、八进制(Octal)、十进制(Decimal)、十六进制(Hexadecimal):

二进制:0、1(逢二进一)

是数字电路应用最广泛的进制。任何一个二进制数均可展开为

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        D=\sum k_i2^i

并可以使用该式子把二进制数转换成十进制数。

例子:(101.11)_2=1\times2^2+0\times2^1+1\times2^0+1\times2^-^1+1\times2^-^2=(5.75)_1_0

Notice:上例中,表示二进制数时,应当把数字打括号,然后在右下角写上2或者B作为下标。否则不给分。

八进制:0、1、2、3、4、5、6、7(逢八进一)

与二进制数同理,任何一个八进制数也可以展开成

                                                        D=\sum k_i8^i     

并可以使用该式子把八进制数转换成十进制数。

例子:(12.4)_8=1\times8^1+2\times8^0+4\times8^-^1=(10.5)_1_0

Notice:上例中,表示八进制数时,应当把数字打括号,然后在右下角写上8或者O作为下标。否则不给分。

十进制:0、1、2、3、4、5、6、7、8、9(逢十进一)

展开式和写法类比二进制和八进制,这里不做赘述。书写十进制数也要注意写括号和下标,下标可以写10或者D

十六进制:0-9、A、B、C、D、E、F(逢十六进一)(其中A-F表示10-15

与以上进制同理,任何一个十六进制均可展开为

                                                        D=\sum k_i16^i

并由此计算出它的十进制数。例如

(2A.7F)_1_6=2\times16^1+10\times16^0+7\times16^-^1+15\times16^-^2=(42.4960937)_1_0

Notice:上例中,表示十六进制数时,应当把数字打括号,然后在右下角写上16或者H作为下标。否则不给分。

 

2、进制转换:

[1]、将任意进制数转换为等值的十进制

利用公式    D=\sum k_iN^i  即可将任意进制转成十进制。N为原进制的进制数。具体实例上面讲进制数的时候已经举过例子,这里不再赘述。

[2]、将十进制数转换为等值的二进制数

如果十进制数同时有整数部分和小数部分,就需要采用不同的方法分别进行转换。

具体操作方法不做赘述,以下面的例子作为参考即可得出方法。

例子:将(273.69)_1_0转换为等值的二进制数。小数部分要求保留四位有效数字。

 

 Notice:转整数部分时,必须运算到最后一位数为0,这是非常容易出错的点

[3]、二进制与八进制和十六进制间的互相转换

二进制转八进制:

首先将二进制数的整数部分从最低位向高位每3位划分为一组,同时将二进制小数部分从最高位到低位每四位划分为一组,然后将每组用该组数的八进制数取代,即得结果。如果二进制数最高一组不足3位或者小数部分最低一组不足3位,就补0凑齐3位。

 

 

二进制转十六进制:

首先将二进制数的整数部分从最低位向高位每4位划分为一组,同时将二进制小数部分从最高位到低位每四位划分为一组,然后将每组用该组数的十六进制数取代,即得结果。如果位数不够,就补0。

 

 

[4]、十进制转八进制和十六进制

先将十进制转成二进制,再把二进制转成八进制或十六进制即可。

三、原码、反码、补码之间的转换

有个问题:二进制数如何表示正负?方法是在二进制数的前面增加一位符号位,符号位为0表示这个数是整数;符号位为1表示这个数是负数。这种形式的数即为原码

反码:在原码的基础上,如果原码为正,则其反码与原码一模一样;如果原码为负,则除了符号位以外,其余位的数全部取反即得到反码。

补码:在原码的基础上,如果原码为正,则其补码与原码一模一样;如果原码为负,则其补码为反码+1。

例子:

 四、几种常见的编码

1、十进制代码

为了用二进制代码表示十进制的0-9十个状态,二进制代码至少要有4位,4位二进制代码一共有16个,取其中10种组合对应0-9,有许多方案,常见的如下图所示。(重点是8421码和余3码)

 对于8421码,实际上就是最高位到最低位依次的权分别为8、4、2、1,而对于余三码,则是在8421码的基础上加3得到相应的余三码,比如0000加3 得到相应的余三码为0011。类似的还有5421码,最高位到最低为依次的权分别是5、4、2、1,比如说,5421码1101就表示十进制数10,而8421码1101则表示十进制数13。

2、ASCII码   (知道有这个东西即可)

 3、格雷码  (知道有这个东西就可)

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值