×
嵌入式 > 技术百科 > 详情

数制与编码

发布时间:2021-05-20 发布时间:
|

这一章主要讲述的内容是在数字设备中进行算术运算的基本知识--数制和一些常用的编码。它是这门课程的基础。

我们在学习时把这一章的内容分为五节,它们分别是:
§ 1、1 进位计数制
§ 1、2 数值转换
§ 1、3 二进制数的算术运算
§ 1、4 数的原码、反码及补码
§ 1、5 编码

§ 1、1 进位计数制

这一节我们来学习进位计数制的概念和一些常用的进位计数制。

一:进位计数制 它的概念描述为:把数划分为不同的位数,逐位累加,加到一定数量之后,再从零开始,同时向高位进位进位计数制有三个要素:数符、进位规律和进位基数。什麽是进位基数呢?即计数制中每个数位所使用的数码符号的总数,它又被称为进位模数。我们经常把数用每位权值与该位的数码相乘展开。当某位的数码为“1”时所表征的数值即该位的权值。 例1:我们把十六进制数n=(1fa3.b3)h按权展开式子为? >二:常用的进位计数制我们用进位计数制的三要素来描述一下二进制、八进制、十进制和十六进制。如下表所示:

常用进制 英文表示符号 数码符号 进位规律 进位基数
二进制 b 0、1 逢二进一 2
八进制 o 0、1、2、3、4、5、6、7 逢八进一 8
十进制 d 0、1、2、3、4、5、6、7、8、9 逢十进一 10
十六进制 h 0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f 逢十六进一 16

§ 1、2 数制转换

在数字设备中计数用的是二进制,但我们计数一般采用十进制,那它们之间是怎样转换的呢?

一:其它进制转换为十进制 方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。

例1: 10110.101)b=(?)d 按权展开n=124+023+122+121+020+12-1+02-2+12-3 =16+4+2+0.5+0.125 =(22.625)d二:将十进制转换成其它进制 方法是: 它是分两部分进行的即整数部分和小数部分。

整数部分:(基数除法)把我们要转换的数除以新的进制的基数,把余数作为新进制的最低位; 把上一次得的商在除以新的进制基数,把余数作为新进制的次低位; 继续上一步,直到最后的商为零,这时的余数就是新进制的最高位.小数部分: (基数乘法)把要转换数的小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位把上一步得的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;继续上一步,直到小数部分变成零为止。或者达到预定的要求也可以。

例2 :>d=(?)o
整数部分 小数部分
(68.125)d=(104.1)o 三:二进制与八进制、十六进制的相互转换

二进制转换为八进制、十六进制:它们之间满足23和24的关系,因此把要转换的二进制从低位到高位每3位或4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成八进制或十六进制即可八进制、十六进制转换为二进制时,把上面的过程逆过来即可。例3:n=(c1b)h=(?)b(c1b)h=1100/0001/1011=(110000011011)b

一:二进制的四则运算二进制也可以进行四则运算,它的运算规则如下所示:

加运算 0+0=0,0+1=1,1+0=1,1+1=10 逢2进1
减运算 1-1=0,1-0=1,0-0=1,0-1=1(向高位借1当2)
乘运算 00=0,01=0,10=0,11=1
除运算 二进制只有两个数(0,1),因此它的商是1或0.

例1:求(1011101)b与(0010011)b之和 例2: 求(1101)b与(0101)b的乘积
通过例(1)我们再来介绍两个概念:半加和全加。

半加是最低位的加数和被加数相加时,不考虑低位向本位进位。全加是加数和被加数相加时,我们还要考虑低位向本位的进位。

§ 1、4 数的原码、反码及补码

我们知道在生活中,数是有正负之分,在数字设备中是怎样表示数的正负符号呢?
一:数的表示形式 在生活中表示数的时候一般都是把正数前面加一个“+”,负数前面加一个“-”,但是在数字设备中,机器是不认识这些的,我们就把“+”用“0”表示,“-”用“1”表示。原码、反码和补码。这三种形式是怎样表示的呢?如下所示:

真值 原码 反码 补码

例1:求+12和-12八位原码、反码、补码形式它们的原码分别为[+12]=00001100[-12]=100011 它们的反码分别为[+12]=00001100[-12]=(28-1)+(-1100)=11110011 它们的补码分别为[+12]=00001100[-12]=28+(-1100)=11110100

正数 +x 0x 0x 0x
负数 -x 1x (2n-1)+x 2n+x

二:原码、反码及补码的算术运算因为这三种数码表示法的形成规则不同,所以算术运算方法也不相同。

原码:与我们的日常中算术运算相同。反码:先转换为反码形式,再进行加减运算。它的减法可以按a反+[-b]反的形式进行.补码:先转换为补码形式,再进行加减运算,其减法可以按a补+[-b]补进行.

三:溢出及补码运算中溢出的判断 溢出可以描述为运算结果大于数字设备的表示范围。这种现象应当作故障处理。 判断溢出是根据最高位的进位来判断的。

§1、5 编码

指定某一组二进制数去代表某一指定的信息,就称为编码。

用二进制码表示的十进制数,就称为bcd码。它具有二进制的形式,还具有十进制的特点它可作为人们与数字系统的联系的一种间表示。bcd码分为有权和无权编码。

(1)有权bcd码:每一位十进制数符均用一组四位二进制码来表示,而且二进制码的每一位都有固定权值.下面我们用表列出几种常见的编码:

常见的编码

十进制数

8421 5421 2421 631-1 余3码 7321
0 0000 0000 0000 0000 0011 0000
1 0001 0001 0001 0010 0100 0001
2 0010 0010 1000 0101 0101 0010
3 0011 0011 1001 0100 0110 0011
6 0110 1001 1100 1000 1001 0111
8 1000 1011 1110 1101 1011 1001
9 1001 1100 1111 1100 1100 1010
(2)无权bcd码:二进制码中每一位都没有固定的权值。
二: 奇偶校验码

在数据的存取、运算和传送过程中,难免会发生错误,把“1”错成“0”或把“0”错成“1”。奇偶校验码是一种能检验这种错误的代码。它分为两部分;信息位和奇偶校验位。 有奇数个“1”称为奇校验,有偶数个“1”则称为偶校验。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ADI 高精度低功耗精密放大器