您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 数字电路与系统设计第1章_数制与编码
数字电路第1章数制与编码张延军北京理工大学zhangyj@bit.edu.cn本章内容1.1数制1.2数制转换1.3二进制符号数的表示方法1.4二-十进制编码(BCD码)1.5格雷(Gray)码1.6ASCII字符集1.7检错码和纠错码February9,20202zhangyj@bit.edu.cn数制与编码人类在日常生活中如何表示数字?计算机中如何表示数字?February9,20203zhangyj@bit.edu.cn二进制和十进制之间的关系是什么?还有别的常用的表示方法吗?十进制二进制八进制、十六进制数制•即记数法,人们用一组规定的符号和规则来表示数的方法数制February9,20204zhangyj@bit.edu.cn基数位权符号规则数制基数:计数制中每一位数所用到的数码的个数。基数为N的计数制中,含有0、1、…、N-1个数码,进位规律是“逢N进一”February9,20205zhangyj@bit.edu.cn位权:数制中每一固定位置对应的单位值,即每一固定位置上数值“1”代表的值。例如:十进制中第二位的位权是10,第一位的位权是1。数制任意一个数均可写为多项式形式(345.67)10=3×102+4×101+5×100+6×10-1+7×10-2February9,20206zhangyj@bit.edu.cn符号位权十进制数的基数为10,用到的10个符号为0123456789数制其中R为R进制数的基数,Ki为0,1,……R-1范围内取值的数字。February9,20207zhangyj@bit.edu.cn对于任意R进制数N,假设整数位数为n、小数位数为m1110022111-021K.KnmiiimmnnnnmnnRRKRKRKRKRKRKKKKN二、八、十、十六进制数对于十进制有:(N)10=∑di·10i其中,di的取值范围:0,1,2…9对于二进制有:(N)2=∑bi·2i其中,bi的取值范围:0,1对于八进制有:(N)8=∑qi·8i其中,qi的取值范围:0,1,2…7对于十六进制有:(N)16=∑hi·16i其中,hi的取值范围:0,1,2…9,A,B,C,D,E,FFebruary9,20208zhangyj@bit.edu.cn二、八、十、十六进制数二进制:Binary,B八进制:Octal,O(Q)十进制:Decimal,D十六进制:Hexadecimal,HFebruary9,20209zhangyj@bit.edu.cn二、八、十六进制到十进制的转换February9,202010zhangyj@bit.edu.cn转换方法:直接按加权相加即可例1(101.001)2=1·22+0·21+1·20+0·2-1+0·2-2+1·2-3=(5.125)10例2(32.56)8=3·81+2·80+5·8-1+6·8-2=(26.71875)10例3(ED.A)16=14·161+13·160+10·16-1=(237.625)10十、二、八、十六进制对照表十进制二进制八进制十六进制0000000010001011200100223001103340100044501010556011006670111077810001089100111910101012A11101113B12110014C13110115D14111016E15111117F二八进制之间的转换February9,202012zhangyj@bit.edu.cn转换方法:每三位二进制数对应一位八进制数。转换时从小数点向左、向右每3位为一组,直接写出对应的八进制数即可。小数点后最后一组要补足3位。(10010111.1101)2=(010010111.110100)2=(227.64)8(227.64)Q=(010010111.110100)B=(10010111.1101)B二十六进制之间的转换February9,202013zhangyj@bit.edu.cn转换方法:四位二进制数对应一位十六进制数。转换时从小数点向左、向右每4位为一组,直接写出对应的十六进制数即可。小数点后最后一组要补足4位。。(110110111.011)2=(000110110111.0110)2=(1B7.6)16(1C7.6)H=(000111000111.0110)B=(111000111.011)B八十六进制之间的转换February9,202014zhangyj@bit.edu.cn转换方法:八进制数与十六进制数之间的转换可以通过转换为二进制数作为中间过程。(1C7.6)16=(000111000111.0110)2=(111000111.011)2=(707.3)8(707.3)8=(111000111.011)2=(000111000111.0110)2=(1C7.6)161)整数部分用连除法,用2除所要转换的数,所得余数即为b0;再用2除上一步所得的商,所得余数为b1,……,直到商为0为止整数部分和小数部分分别进行转换十进制到二进制的转换February9,202015zhangyj@bit.edu.cn例:(59)10=(?)2解:所以(59)10=(111011)25929013714111011b5b4b3b2b1b0/2/2/2/2/2/2十进制到二进制的转换162)小数部分用连乘法,将小数部分乘以2,所得积的整数部分即为b-1;积的小数部分再乘以2,所得积的整数部分为b-2……,一直乘到所要求的的精度为止例:(0.8125)10=(?)2解:所以(0.8125)10=(0.1101)2精度问题:转换后小数位数的确定0.81250.6250.250.501101b-1b-2b-3b-4X2X2X2X2整数部分和小数部分分别进行转换十进制到二进制的转换17整数、小数分别进行转换,转换完成后,合到一起即可。(59.8125)10=(111011.1101)2小数转换的精度转换后小数位数的确定给定位数根据精度确定February9,202018zhangyj@bit.edu.cn(0.2)10=(0.001100110011……)2如果取8位小数,则为0.00110011如果要求精度为1%,则应满足[(0.2)10-(N)2]/(0.2)10=0.01或这样估算位数:0.2*1%=0.0022-9=0.0019531250.002,所以需要9位(0.00110011)2=(0.19921875)10十进制到八、十六进制的转换February9,202019zhangyj@bit.edu.cn方法一:与十进制数转换成二进制数类似,整数部分连除以8(16),小数部分连乘以8(16)。例:(0.8125)10=(?)8解:0.81250.5064q-1q-2所以(0.8125)10=(0.64)8例:(59)10=(?)8解:075973q1q0所以(59)10=(73)8(59.08125)10=(73.64)8十进制到八、十六进制的转换(续)February9,202020zhangyj@bit.edu.cn方法一:与十进制数转换成二进制数类似,整数部分连除以8(16),小数部分连乘以8(16)。例:(0.8125)10=(?)16解:0.81250D(13)h-1所以(0.8125)10=(0.D)16例:(59)10=(?)16解:07593B(11)h1h0所以(59)10=(3B)16(59.08125)10=(3B.D)16十进制到八、十六进制的转换February9,202021zhangyj@bit.edu.cn方法二:现将十进制数转换为二进制数,再将二进制数转换为八进制数或十六进制数。两种方法的比较:转换为二进制数算式较长,但运算简单;反之,算式较短,但运算较繁应该非常熟悉的数字2i,2i-1,i=0,1,…10,应该非常熟悉:29=51229-1=511210=1024210-1=1023210=1024≈1000210=1K64K=216=26*210220=1M230=1G232=4GFebruary9,202022zhangyj@bit.edu.cn二进制符号数的表示方法所谓符号数就是带正、负号的数在数字系统中所有信息均由二进制码表示数的正、负也由二进制码表示常用的符号数表示法有三种:原码表示法反码表示法补码表示法February9,202023zhangyj@bit.edu.cn原码表示法用1位二进制数表示符号:0表示正数,1表示负数数的大小以该数的绝对值表示符号位通常放在最高位如某数字系统中用8位存储器存放数据,其中最高位为符号位,其余7位为数的绝对值February9,202024zhangyj@bit.edu.cn原码表示法十进制表示二进制原码表示法(+37)10+010010100100101(-37)10-010010110100101(+0)10+000000000000000(-0)10-000000010000000(+127)10+111111101111111(-127)10-111111111111111February9,202025zhangyj@bit.edu.cn例:数据位宽n=8,最高位为符号位n位数字采用原码可表示的数据范围:-(2n-1-1)~+(2n-1-1)0有两种表示方式:+0和-0反码0的反码为11的反码为0如:N=10011011则N反=01100100February9,202026zhangyj@bit.edu.cn反码:将二进制数的每一位分别求反而得到的二进制码符号数的反码表示法用1位二进制数表示符号:0表示正数,1表示负数正数的大小用原码表示,而负数的大小则以该数的反码表示符号位通常放在最高位如某数字系统中用八位存储器存放数据,其中最高位为符号位,其余7位存放该数的反码February9,202027zhangyj@bit.edu.cn反码表示法十进制表示二进制反码表示法(+37)10+010010100100101(-37)10-010010111011010(+0)10+000000000000000(-0)10-000000011111111(+127)10+111111101111111(-127)10-111111110000000February9,202028zhangyj@bit.edu.cn例:数据位宽n=8,最高位为符号位n位数字采用反码可表示的数据范围:-(2n-1-1)~+(2n-1-1)0有两种表示方式:+0和-0补码February9,202029zhangyj@bit.edu.cn补码:设数N为有n位整数、m位小数的二进制数,则N的补码定义为:NNn2)(n补N的补码与N的大小有关,还与整数位数n有关,与小数位数m无关设n=8,则(11001)补.8=28-11001=11100111(11001.0101)补.8=28-11001.0101=11100110.1011补码的求法•利用补码的定义可以求一个数的补码方法一•将原码补足n位后求反加1即得其补码方法二February9,202030zhangyj@bit.edu.cn如:求(11001)在n=8时的补码1)补齐8位:000110012)求反:111001103)加1:11100111较为繁琐,一般不用常用方法补码的求法•根据定义:N的补码为2n-N=(2n-1-N)+1•2n-1为n位全为1的二进制数•因此2n-1-N为N的反码•得证:二进制数按位取反加1即得补码方法二的证明February9,202031zhangyj@bit.edu.cn100000000-1——————111111111111
本文标题:数字电路与系统设计第1章_数制与编码
链接地址:https://www.777doc.com/doc-3585952 .html