数制与码制中的转换计算问题

目录

1.基本概念

2.二、八、十六进制数之间的转换

⑴方法

⑵注意事项

3.十进制数转换为非十进制数

⑴基本方法

⑵提高计算效率

4.十进制数及不同类型BCD码的转换

⑴BCD码

⑵将十进制数表示为不同类型BCD码

5.格雷码与自然二进制码的转换

⑴格雷码

⑵格雷码与自然二进制码的转换

⑶快速写出四位格雷码


对数字电路的初学者和未来的数字系统设计者,掌握数制和码制相关的手工计算和转换方法是必要的,因为它们是理解整个知识体系、建构新思路新方法的基础,当然,考试也会变得轻松。

1.基本概念

在数字系统中,数字信号以数码的形式给出。数码可以表示不同数量的大小,例如二进制数;数码也可以表示不同事物和事物的不同状态,此时称之为代码,例如常用的通用字符型代码ASCII码就用来表示不同的符号和动作。

数制:即进位计数制,是指数码中每一位的构成及进位规则。其中,数制中允许使用的数码个数称为该数制的基数,R进制数的基数为R

一个具有n位整数、m位小数的R进制数,其表示形式(表达序列)和一般展开式如下:

式中,是第i位的系数,称为第i位的权。

该一般展开式又称为按权展开式,其计算结果就是现实生活中的数,即十进制数,因此十进制数的展开结果还是原数字序列;R进制数,按权展开就可将其转换为等值的十进制数

码制:编制代码的过程叫作编码,编码时所遵循的规则称为码制。

2.二、八、十六进制数之间的转换

方法

从数据的存储结构来说,八进制数和十六进制数本质上还是二进制数,3位二进制数构成1位八进制数,4位二进制数构成1位十六进制数。因此,二进制数转换为八进制数或十六进制数采用分组代换法,八进制数或十六进制数转换为二进制数采用按位代换法。

1将二进制数转换为八进制数。

解析:以小数点为中心,左右两边每3位一组,不够3位则整数部分向左补零,小数部分向右补零,然后各组用八进制数代换,得

2将十六进制数转换为二进制数。

解析:分别将每位十六进制数用4位二进制数代换,得

注意事项

①八进制数和十六进制数之间的转换,通过先转换二进制数实现;

②细节不能出错,例如题1中的补零位置,题2中完成代换以后,最终转换结果中小数部分末尾的0应该删掉

3.十进制数转换为非十进制数

基本方法

通过数的一般展开式和等值十进制数之间的关系,可以推导出十进制数转换为非十进制数的方法,转换方法可简述为:整数部分的转换,除以基数取余数,且所得余数倒序排列;小数部分的转换,乘以基数取(积的)整数,且顺序排列,下面以转换二进制数为例进行说明。

3将十进制数25转换为二进制数。

解析:分别将每一次的商(第一次是原数)除以基数2,所得余数即为二进制各位系数(第一次所得为最低位),直到商为零,得

4将十进制数0.375转换为二进制数。

解析:将十进制小数乘以基数2,取积的整数为二进制系数(第一次所得为第一位小数位),再将积的小数部分继续乘以基数,依次取整得其他小数位,直到积的小数部分为零,转换结束。若连乘多次后,积的小数部分仍然不为零,则按照精度要求保留适当位数即可。由下面验算可知,

提高计算效率

从手工计算的角度,数制转换不应拘泥于某一种方式,应根据原数的大小和个人习惯,灵活选择最有效率的方法,举例说明如下。

5

解析:①整数部分数值较大(位数较多),应先转换成16进制数,然后写出对应的二进制数和八进制数。

②我们熟知,故易得小数部分的结果为

综上,

6将十进制数0.62890625转换为二进制数。

解析:小数位较多,所以先转换成16进制数,再写出对应的二进制数。

4.十进制数及不同类型BCD码的转换

BCD

用4位二进制数表示1位十进制数,称为-十进制码,缩写为BCD码。常见的BCD码见下表所示,其中8421BCD码取自4位自然二进制码的前10个组合,各位权值分别为8、4、2、1,同理,从2421码和5211码的名称也可看出其各位的权。余3码和余3循环码是无权码,前者可通过8421BCD码加3(0011)得到,后者取自4位格雷码的中间10个代码。不同类型BCD码各有特点,比如余3循环码具有相邻性和循环性,而2421码和余3码则具有自补性,它们的代码以最高位0、1为界,上下两部分对称互反。

将十进制数表示为不同类型BCD

写出十进制数的有权BCD码,只需记住其从权的根本特点,从上表可以看出,除8421BCD码外,其余BCD码(包括未列出的5421BCD码)代表0~4的最高位编码为05~9的最高位编码为1,所以首先确定最高位,然后算出其余3位所代表的数值,再按各位权值从高到低写出代码即可。无权码可根据其关联代码推导得到。

7BCD码100011000100表示的数为,则该BCD码是(  )。(从2421码、5421码、5211码、余3码中选择。)

解析:1000代表5,表示最高位的权是5,1100代表9,表示100代表9-5=4,所以次高位的权是4,因此该BCD码是5421码。

8求59的8421BCD码、余3码和2421BCD码。

解析:

8421BCD码的个位和十位分别+3,得余3码为10001100;

2421BCD码:十位5的首位代码为1,低3位代表的数为5-2=3,故按421权的编码为011,同理,个位9的首位代码为1,低3位代表的数为9-2=7,故按421权编码为111,所以,2421BCD码为

5.格雷码与自然二进制码的转换

格雷码

格雷码是典型的无权循环码,具有相邻性、循环性和对称性。相邻性是指两个相邻代码之间只有1位不同,这使代码依次变化时不容易出错。

格雷码的构成特点:每一位都由它的循环节按一定顺序循环,对4位格雷码,若从0000开始,最低位的状态按0110顺序循环变化,次低位的状态按00111100顺序循环变化,以此类推,自右向左,每一位状态循环中的连续0、1的数目增加一倍。可以利用这一特点写出指定位数的格雷码。

格雷码与自然二进制码的转换

①自然二进制码转换为格雷码:

②格雷码转换为自然二进制码:

总结一条方便记忆的规律:被转换代码的最高位直接用于目标代码,从次高位开始,当前位跟上一位做异或运算,这里的上一位始终是自然二进制码(当用格雷码转换自然二进制码时,用上一位转换出来的自然二进制码跟当前格雷码做异或运算)。

8求十进制数63的格雷码是(   )。

解析:

快速写出四位格雷码

除了根据循环性写出格雷码,或者通过自然二进制码转换以外,还可以借助卡诺图,快速写出4位格雷码。下面两个卡诺图分别表示以变量取值组合作为编码,所对应的各个方格代表的十进制数。图1是大家熟悉的自然二进制码,图2反映了卡诺图相邻性和格雷码相邻性的统一,据此很容易写出4位格雷码。

图1 自然二进制码

图2 格雷码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值