《计算机常用数制及编码.ppt》由会员分享,可在线阅读,更多相关《计算机常用数制及编码.ppt(36页珍藏版)》请在三一办公上搜索。
1、计算机常用数制及编码,在计算机五大部分中,运算器和控制器是最核心的部分,通常做在一个器件上,称作CPU(Center Processing Unit)。【术语】CPU=控制器+运算器(+寄存器组)只有主存(内存)可直接与CPU交换信息,它与CPU组合可实现计算机的基本功能。【术语】主机=CPU+主存储器输入/输出(Input/Output)设备和外存合称“外围设备”。【术语】外设=I/O+辅助存储器五大部件之间是通过三大“总线”(Bus)连接实现信息交换的。【术语】三大总线=数据总线+地址总线+控制总线,复习计算机的系统组成,常用术语,复习计算机的工作原理,数字与编码,计算机采用二进制来实现数
2、据的存储和运算。数制 是指用一组固定的符号和统一的规则来表示数值的方法。编码是采用少量的基本符号,选用一定的组合原则,以表示大量复杂多样的信息的技术。任何信息必须转换成二进制形式数据才能由计算机进行处理存储和传输。,数制是人们利用符号来计数的科学方法。数制分为非进位计数制,进位计数制。进位计数制:逢十进一的是十进制(n)D,Decimal 逢八进一的是八进制(n)O,Octal 逢二进一的是二进制(n)B,Binary 逢十六进一的是十六进制(n)H。Hexadecimal,基数:指在这种进位制中允许使用的基本数码,也即每个数位上能使用的数码个数。例如,十进制的基数是10。权也称位权,计算方法
3、:以该进位制的基数为底,以数码所在数位的序号为指数,所得的整数次幂即为该进位制在该数位上的权。如十进制中,第二位位权为10,第三位是100,。,基数、位权,举例如下:,1*103+5*102+9*101+5*100+3*10-1+5*10-2,(1595.35)10=,其中:103,102,101,100,10-1,10-2 分别为各位上 的 权;而10 则是十进制数的“基数”(即0 9 共10个数)。,不同进位制的特点:,十进制数的特点是用10个数码(09)表示所有的数,基数是10,采用逢十进一的计数方法。二进制数的特点是用2个数码(0和1)表示所有的数,基数是2,采用逢二进一的计数方法。例
4、如:10在二进制中表示10进制的2。八进制数的特点是用8个数码(07)表示所有的数,基数是8,采用逢八进一的计数方法 例如:八进制的11表示10进制的9。十六进制数的特点是用16个数码(0F)表示所有的数,基数是16,采用逢十六进一的计数方法。,如:(A3C)H=10*162+3*16+12=(2620)D,推广:一个以 r 为基数的 r 进制数 s 可表示为S=(kn kn-1 kn-2k0 k-1k-m)r,=kn*rn+kn-1*r n-1+k0*r0+k-1*r-1+k-m*r-m,二进制优点:在计算机中采用二进制记数,是因为二进制具备了如下的几个优点:易于在计算机中表示:低电平表示0
5、,高电平表示1利于通过计算机实现逻辑运算:“假”和“真”二进制数的四则运算比较简单,错误率低由于二进制不便于书写,八进制和十六进制与二进制之间有着特殊的关系,在计算机应用中也常常使用八进制与十六进制来表示数。部分十进制、八进制、二进制、十六进制数的对照下表所示。,二进制数在计算机中的编码表示,一、进 制 转 换,采用“乘权求和”法可以方便地将二进制数转换为十进制数。例如:二进制数11001.101=124123022021120121022123为十进制数25.625。,(523)10=(xn xn-1 x2 x1 x0)2,=xn*2n+xn-1*2 n-1+x 2*22+x1*21+x0*
6、20,523/2=261+1/2=xn*2 n-1+xn-1*2n-2+x2*21+x1+x0/2,故:x0=1,依次求出 xi,两边同除 2;对应整数、小数应相等:,要知道(523)10的二进制表示,关键在于求出xn的值Xn=(0,1),所以:(523)10=(?)2,推广:,小结:,例:用基数除法将(327)10转换成二进制数,2 327 余数,2 163 1,2 81 1,2 40 1,2 20 0,2 10 0,2 5 0,2 2 1,2 1 0,0 1,(327)10=(101000111)2,“除2取余,先下后上”,小数转换同理:,(0.8125)10=(0.x1 x2 x3xn)
7、2=x1*2-1+x2*2-2+xn*2-n,两边同乘2:(1.625)10=x1+x2*2-1+xn*2-(n-1),故:x1=1,依次求出xi即可,把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所的整数部分作为第二位小数,重复操作,直至得到所需要的二进制小数.,乘基取整法(小数部分的转换),例如:将(0.8125)10 转换成二进制小数.整数部分2 0.8125=1.625 12 0.625=1.25 12 0.25=0.5 02 0.5=1 1(0.8125)10=(0.1101)2,“乘2取整,自上而下”,例:将(0.2)10 转换成二进制小数,
8、0.2 2=0.4 整数部分 00.4 2=0.8 00.8 2=1.6 10.6 2=1.2 10.2 2=0.4 00.4 2=0.8 00.8 2=1.6 10.6 2=1.2 1(0.2)10=?0.001100110011.2,(3)、二 八 十六,二进制小数:11101101.0101101,八进制分组:011,101,101,010,110,100,八进制数为:3 5 5.2 6 4,十六进制分组为:1110,1101,0101,1010,十六进制数为:E D.5 A,练习,1、十进制转换为非十进制:(213.75)10 转换为二进制、八进制、十六进制。2、非十进制转换为十进制:
9、(10110)2,(1207)8,(1B2E)16。3、二进制与八进制十六进制之间的转换:,2、小数点如何处理?,-将数的符号数值化!,要解决的问题:,二、数的机器码表示,例:有这样一个数-5.625 D,-引入定点和浮点表示法。,1、数的符号如何表示?,二进制数在计算机内的表示计算机内,数据是以二进制的形式存储和运算的。数的正负用高位字节的最高位来表示,定义为符号位,用“0”表示正数,“1”表示负数。1、定点数的表示:定点整数定点数:小数点在数中有固定的位置。整数用定点数表示。整数分为有符号整数和无符号整数。无符号整数中所有二进制位都用来表示数的大小;有符号整数用最高位表示数的正负号,其他位
10、表示数的大小。例如,用一个字节表示整数,无符号数能表示0255,有符号数能表示-127127。超过范围则溢出。,2、浮点数的表示实数用浮点数表示,既有整数又有小数,小数点不固定。浮点数把一个数分为阶码和尾数(0.xxx)两部分来表示,叫浮点 数表示法。一个浮点数由两部分组成:浮点数的存储格式:阶码:指示尾数中的小数点应当向左或向右移的位数;尾数:数值的有效数字,小数点在数符和尾数之间;N=尾数基数阶码如:123=0.123103在计算机内,数据全部为2进制,数符和阶符各占一位,阶码的值随浮点数数值大小而定,尾数位数依浮点数的精度要求而定。,三、常见的信息编码(1)BCD码(二到十进制编码)人们
11、通常习惯使用十进制数,而计算机只能识别0和1,内部采用二进制表示和处理数据,因此在计算机输入和输出数据时,就要进行由十进制到二进制的转换处理。把十进制数的每一位分别写成二进制形式的编码,称为二进制编码的十进制数,即BCD码(Binary Coded Decimal)编码。,BCD码编码方法很多,通常采用8421编码,这种编码方法最自然简单。它使用四位二进制数表示一位十进制数,从左到右每一位对应的权分别是23、22、21、20,即8、4、2、1。例如十进制数1975的8421码可以这样得出。例如十进制数 1 9 7 58421编码 0001 1001 0111 01011975(D)=0001
12、1001 0111 0101(BCD)用四位二进制表示一位十进制会多出6种状态,这些多余状态码称为BCD码中的非法码。BCD码与二进制之间的转换,要先将BCD码转换成十进制码,然后再转换成二进制码;当需要将二进制转换成BCD码时,要先将二进制转换成十进制码,然后再转换成BCD码。(1001 0010 0011.0101)BCD,=(923.5)D=(1110011011.1)B,(2)ASC码国际上通用的字符编码是ASCII(American Standard Code for Information Interchange)码.用7位二进制表示字符的一种编码,使用一个字节表示一个特殊的字符,
13、字节高位为0或用于在数据传输时的校验。参见25页的代码表。控制字符34个,阿拉伯数字10个,大小写英文字母52个,标点符号和运算符32个。(共128个)例如:数字“0”的ASCII为48打写英文字母“A”的ASCII为65“空格”的ASCII为32,(3)汉字编码汉字也是字符,而且数量大,字形复杂,同音字多,编码比拼音文字困难,因此在不同的场合要使用不同的编码。通常有4种类型的编码,即输入码、国标码、机内码、字形码。,输入码输入码所解决的问题是如何使用西文标准键盘把汉字输入到计算机内。有各种不同的输入码,主要可以分为三类:数字编码、拼音编码和字型编码。数字编码:就是用数字串代表一个汉字,常用的
14、是国标区位码。拼音编码:是以汉字读音为基础的输入方法。由于汉字同音字太多,输入后一般要进行选择,影响了输入速度。字形编码:是以汉字的形状确定的编码。如五笔字型、表形码,便属此类编码,其难点在于如何拆分一个汉字。,国标码1980年,信息交换用汉字编码字符集基本集,简称GB231280。收录6763个常用汉字和682个非汉字字符,其中一级汉字3755个,以汉语拼音为序排列,二级汉字3008个,以偏旁部首进行排列。所有汉字与符号组成9494的矩阵,每一行为一个“区”(区号为0194),每一列为一个“位”(位号为0194)。94个区,每个汉字占一个位。机内码汉字内码是在设备和信息处理系统内部存储、处理
15、、传输汉字用的代码。无论使用何种输入码,进入计算机后就立即被转换为机内码。英文字符的机内码用一个字节来存放ASCII,一个ASCII占一个字节的低7位,最高位为“0”汉字机内码用两个字节,最高位均为“1”如“中”,国标码为5650H(0101 0110 0101 0000)B,机内码为D6D0H(1101 0110 1101 0000)B,字形码表示汉字字形的字模数据,因此也称为字模码,是汉字的输出形式。通常用点阵、矢量函数等表示。用点阵表示时,字形码指的就是这个汉字字形点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为1616点阵、提高型汉字为2424点阵、4848点阵等。现
16、在我们以2424点阵为例来说明一个汉字字形码所要占用的内存空间。因为每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用324=72个字节。计算公式:每行点数/8行数。依此,对于4848的点阵,一个汉字字形需要占用的存储空间为48/848=648=288个字节。,矢量方式存储的是描述汉字字形的轮廓特征。点阵和矢量方式区别:点阵特点 编码、存储方式简单、无需转换直接输出,但字形放大后产生的效果差,而且同一种字体不同的点阵需要不同的字库;矢量方式特点正好与点阵相反。,例如下图中显示的“汉”字,使用1616点阵。字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。这样,一个1616点阵的汉字总共需要16*16/8=32个字节表示。,汉字编码,字符代码,机内码,字形码,转换,(输入码),转换,习 题,(1)为什么在计算机中数据几乎全部采用二进制表示?(2)十进制数转换为非十进制数,整数部分和小数部分应分别遵守什么转换规则?(3)什么是定点数?什么是浮点数?浮点数在计算机中是如何表示的?(4)什么是ASCII码?从ASCII码表中找出大、小写英文字母与数字编码的规律。,