计算机中的数制和编码.ppt_第1页
计算机中的数制和编码.ppt_第2页
计算机中的数制和编码.ppt_第3页
计算机中的数制和编码.ppt_第4页
计算机中的数制和编码.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 数的表示和字符编码方式,2.1 数制 不同进制数的相互关系和转换,2.2 码制 字符的常用编码,2.3 有符号数的表示,2.4 定点数与浮点数,2.1 数制 不同进制数的相互关系和转换,一、计数制,十进制数的计数方法,例:427=410221017100,1、有十个符号:0、1、2、9,2、每个符号所代表的数与所处位置有关,3、遵从“逢十进一”的规则,基 = 10,权,十进制数,八进制数,十六进制数,二进制数,R=10,= 0、1、2、9,n为整数位数,m为小数位数,N=,R=2,R=8,R=16,= 0、1,= 0、1、2、7,= 0、1、2、9、A、B、C、D、E、F,任意进制数的构造,二、不同进制数的相互转换,二进制数转换成十进制数,例: (10010011)2 = ( )10,27,24,21,20,128 + 16 + 2 + 1=147,147,按权展开,乘权相加,整数部分,二、不同进制数的相互转换,二进制数转换成十进制数,例: (0.10011)2 =,2-1,2-4,2-5,0.5 + 0.0625 + 0.03125=0.59375,(0.59375)10,按权展开,乘权相加,小数部分,二、不同进制数的相互转换,十进制数转换成二进制数,整数,例: (307)10 = ( )2,100110011,除二取余,二、不同进制数的相互转换,十进制数转换成二进制数,小数,例: (0.625)10 = ( )2,0.101,乘二取整,0. 625, 2,1. 250, 2,0. 500, 2,1. 000,1,0,1,1. 26,注意: 并非所有的十进制小数都能用有限位的二进制小数来表示。 例2. 将(0.63)10转换为二进制。,2,2,0. 52,2,1 . 04,2,0 . 08,(低位),(0.63)10(0.1010)2,0. 63,(高位),因为小数部分乘以 2 会无限循环下去,故取近似值。 “ 0舍1入 ”,二进制、八进制、十六进制转换成十进制 -按权展开相加 例:(101.101)2=122+021+120+12-1+02-2+12-3=(5.625)10 (34.6)8=381+480+68-1=(28.75)10 (2AB.C)16=2162+10 161+11 160+12 16-1 = 512 + 160 + 11 + 0.75 = (683.75)10,二、不同进制数的相互转换,二、不同进制数的相互转换,二进制数与八进制数、十六进制数之间的相互转换,8=23,16=24,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,方法简便,二进制,八进制,以小数点为中心,整数部分从低位向高位(即从右向左)每三位用一个八进制数来表示,最后一组不足三位时,用 0 补齐;小数部分从高位向低位(即从左向右)每三位用一个八进制数来表示,最后不足三 位时,用0补齐。,将(16.327)8转换为二进制数。 (16.327)8(001 110 . 011 010 111)2 1 6 . 3 2 7 (1110.011010111)2,例如:,二进制,十六进制,以小数点为中心,整数部分从低位向高位(即 从右向左)每四位用一个十六进制数来表示,最后 一组不足四位时,用 0 补齐;小数部分从高位向低 位( 即从左向右 )每四位用一个十六进制数来表 示,最后不足四 位时,用 0 补齐。,将(111001011010.10111001)2转换为十六进制数。 (1110 0101 1010 . 1011 1001)2 E 5 A . B 9 (E5A.B9)16,例如:,常用不同进制数在书写时的表示方法,10011100B B 二进制数,337Q Q 八进制数,4B7DH H 十六进制数,1339D D 十进制数 1339 十进制数,2.2 码制 字符的常用编码,一、BCD码(二十进制数),编码方式:用四位二进制数表示一位十进制数,0000,0101,0001,0100,0011,0010,0110,0111,1001,1000,01234,56789,1010,1011,1100,1101,1111,1110,丢弃不用,一、BCD码(二十进制数),组合式BCD码:一个字节(8位)为2位BCD码,(01101001)BCD = (69)10,(8)10,(00001000),非组合式BCD码:一个字节(8位)为1位BCD码,1、BCD码实际上是十进制数(不是二进制数) 2、BCD码转换成二进制数应按十进制数向二进制数转换的办法进行,二、ASCII码(美国标准信息交换码),10个数字:09 26个大写字母:AZ 26个小写字母:az 32个可打印字符 34个不可打印字符,共128个字符,西文字符在计算机中的表示,ASCII码的代码组成结构,b7 b6 b5 b4 b3 b2 b1 b0,高3位,低4位,最高位,bi=0或1 (i=06) 共有27=128种不同的表示。 微机中一个字节是8位,尽管ASCII码只用了低7位,在计算机中一个ASCII字符仍用一个字节( 8bit )的空间来存放,最高位保持为“0”,0,常用的ASCII码(需要记住),0011 0000B 30H 0 0011 0001B 31H 1 0011 0111B 37H 7 0011 1000B 38H 8 0011 1001B 39H 9 ,0100 0001B 41H A 0100 0010B 42H B 0100 0011B 43H C 0110 0001B 61H a 0110 0010B 62H b 0110 0011B 63H c ,00001000B 0AH 换行LF 00001011B 0DH 回车CR 0010 0000B 20H 空格SP,三、汉字的编码,西文字符的结构决定了它只要128个ASCII字符就能够满足计算机进行信息处理的需要。而中文字符有数万之众,为了适应计算机处理汉字信息的需要,1981年我国颁布了“信息交换用汉字编码字符集 基本集”(GB2312 - 80)供汉字信息在不同的计算机系统之间交换信息使用 , 该标准称为 “ 国标码 ” 。,汉字编码字符集,国标码(GB2312-80)的组成及结构,组成:(共7445个字符) 字母、数字和符号:682个 一级常用字:3755个(按音序排列) 二级常用字:3008个(按偏傍部首) 结构: 码表共分为94行(十进制编号093)和94 列( 十进制编号093 ),行号称为区号,列号称为位号,每个汉字或字符在码表中所处的区和位构成该汉字的“区位码”。,每个汉字用二个字节来表示(16位) 每个字节只用7位,最高位为0,区位码、国标码、机内码,用字符所在的区号(高字节)和位号(低字节)的二进制代码来表示, 称为该汉字的区位码。 将每个汉字的区号和位号加上32之后, 相应的二进制代码就是国标码. 为了与ASCII码区别开来,将汉字的国标码的高字节和低字节的最高位置 “1”。这种双字节( 16 )位的汉字编码,称为汉字机内码。,区位码、国标码、机内码的用途及相互关系,区位码:是外码,主要用于汉字输入。 国标码:是内码,主要用于不同汉字系统之间的 传输和交换。 机内码:是内码,主要用于计算机内部的存储和 处理。 三者之间的关系如下: Q+32=G Q+20H=G G+128=J G+80H=J Q+160=J Q+A0H=J,十进制表示,十六进制表示,1.正整数(无符号整数) 一台计算机所表示的数的范围与其字长有关 8位字长:028-1(0255) 16位字长:0216-1(065535) 32位字长:0232-1,2.3 有符号数的表示,一、机器数与真值,数值在计算机内如何表示?,2.有符号整数 一般使用最高位(最左边的一位)作为其符号位,而且用“0”表示正数,“1”表示负数。如: +43=00101011 -43=10101011,机器数:带有数码化正负号的数,真值:机器数所代表的实际数值,真值 机器数,真值 机器数,3、有符号数的三种表示方法,+43=00101011 -43=10101011,原码表示方法,反码表示方法,+43=00101011 -43=11010101,补码表示方法,+43=00101011 -43=11010100,正数相同,负数不同,(负数是原码求反),(负数是原码求反加1),二进制数 无符号整数 原码 反码 补码 00000000 0 +0 +0 0 00000001 1 +1 +1 +1 01111110 126 +126 +126 +126 01111111 127 +127 +127 +127 10000000 128 -0 -127 -128 10000001 129 -1 -126 -127 11111110 254 -126 -1 -2 11111111 255 -127 -0 -1,用原码或反码时,0的表示有+0和 -0之分 -0原=10000000 +0原=00000000 -0反=11111111 +0反=00000000 用补码时,0的表示是唯一的 0补=00000000,采用补码表示后,可表示有符号数的范围如下 : 8位字长:-27+1+27-1(-128 +127) 16位字长:-215+1+215-1(-32768 +32767) 32位字长:-231+1+231-1,如表示一个无符号数, 8位字长可表示范围为 0255 16位字长可表示范围为 065535,2.3 有符号数的表示,X+Y补=X补+Y补,X-Y补=X补-Y补= X补+-Y补,正数的补码就是它的原码,负数的补码是对应正数的补码求补,采用补码可以将加法和减法统一为加法,基本运算规则,二、补码的运算,例:33+15 = 48,例:-33-15 = -48,例:33-15 = 18,例:-33+15 = -18,00100001 33补,00100001 33补,11011111 -33补,11011111 -33补,11110001 -15补,+ 00001111 15补,00001111 15补,11110001 -15补,00110000 48补,100010010 18补,11101110 -18补,111010000 -48补,+,+,+,三、补码运算的溢出问题,运算结果超出有符号数的可表示范围,称为溢出,例:33+96 = 129,00100001 33补,01100000 96补,10000001 -127补,例:-33-96 = -129,11011111 -33补,10100000 -96补,101111111 127补,溢出产生的原因和判断,在运算过程中,由于次高位向最高位进位,而最高位没有发生进位或最高位发生进位,而次高位未向最高进,造成最高位(符号位)发生不应有的变化,均会溢出,可能发生溢出的情况:同号数相加,异号数相减,解决溢出的办法:1、增加字长 2、采用浮点数,2.4 定点数与浮点数,在讨论用机器数表示数的范围问题上,主要涉及二个问题: 1、被表示的数的绝对值的大小 2、被表示的数的有效数字的多少,试比较下面二组数字: 3102 和 31032 3.14 和 3.14159265,用科学计数法表示:N=2PS,S 尾数(N的全部有效数字) P 阶码(指明小数点的位置) P和S均用二进制数表示,2为阶码的底,定点数:小数点位置固定不变, P=0,浮点数:小数点位置随P可变,P有一定的取值范围,一、定点数,整数表示法:,小数表示法:,S,S,Sf,Sf,小数点,小数点,例:01100000 表示96,例:01100000 表示0.75,数符,尾数,可表示范围为+127/128 -1,1110000 表示-32(补码),111000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论