第2章数制与编码教案优秀课件.ppt
第第2章数制与编码教案章数制与编码教案第1页,本讲稿共55页2.1 2.1 数数 制制2.1.1 2.1.1 基本概念基本概念 1.1.什么是数制什么是数制:应用一组应用一组符号符号和一套统一的和一套统一的规则规则来表来表示数目的方法称为数制(示数目的方法称为数制(Number System)。)。可以从下面三个方面来加深理解:可以从下面三个方面来加深理解:(1)数制的种类很多。数制的种类很多。(2)在一种数制中,只能使用一组固定的在一种数制中,只能使用一组固定的 数字数字符号符号来表示数目的大小。来表示数目的大小。(3)在一种数制中,必须有一套统一的规则。在一种数制中,必须有一套统一的规则。第2页,本讲稿共55页2.2.基数:基数:一一个计数制所包含的个计数制所包含的数字符号数字符号的个数的个数。如如:十进制有十进制有(0,1,2,(0,1,2,9),9)等数字符号,所以基数等数字符号,所以基数 为为1010。3.3.位权值:位权值:一个数中的每一位数码所表示的实际值,不仅与一个数中的每一位数码所表示的实际值,不仅与数码本身的数值有关数码本身的数值有关,还与所在的位置有关,由位置还与所在的位置有关,由位置决定的值就叫位权值决定的值就叫位权值(简称位权简称位权)。如如:十进制数十进制数123123可表示为:可表示为:123=1*123=1*10102 2+2*+2*10101 1+3*+3*10100 0 位权位权2.1 数数 制制第3页,本讲稿共55页(89)10,(101)2,(55)8,(D3)162.1.2 2.1.2 常用进位计数制表示方法常用进位计数制表示方法常用计数制的基数和数字符号常用计数制的基数和数字符号各种进制的数如何区分?各种进制的数如何区分?说明:说明:在十六进制中在十六进制中A A10 B10 B11 C11 C12 D12 D13 E13 E14 F14 F15152.1 数数 制制第4页,本讲稿共55页 1.1.十进制数具有的特点:十进制数具有的特点:(1)(1)基数为基数为1010。(2)(2)位权值为位权值为1010的的i i次幂次幂 1010i i (3)(3)逢逢1010进进1 1,借,借1 1当当10102.2.二进制数具有的特点:二进制数具有的特点:(1)(1)基数为基数为2 2。(2)(2)位权值为位权值为2 2的的i i次幂。次幂。2 2i i (3)(3)逢逢2 2进进1 1,借,借1 1当当2 2八、十六进制数八、十六进制数具有的特点?具有的特点?2.1 数数 制制第5页,本讲稿共55页3.3.以下是十进制以下是十进制0-150-15的二、八、十六进制的表示的二、八、十六进制的表示十进制十进制十进制十进制(D)(D)二进制二进制二进制二进制(B)(B)八进制八进制八进制八进制(O)(O)十六进制十六进制十六进制十六进制(H)(H)0 01 12 23 34 45 56 67 78 89 91010111112121313141415150 01 11010111110010010110111011011111110001000100110011010101010111011110011001101110111101110111111110 01 12 23 34 45 56 67 7101011111212131314141515161617170 01 12 23 34 45 56 67 78 89 9A AB BC CD DE EF F第6页,本讲稿共55页2.2 2.2 数制间的相互转换数制间的相互转换十进制数十进制数非十进制数非十进制数十进制数十进制数二与八、十六进制之间的转换二与八、十六进制之间的转换非十进制数非十进制数第7页,本讲稿共55页 非十进制转换成十进制的方法:非十进制转换成十进制的方法:把非十进制数各把非十进制数各位按位权值展开后求和即可。位按位权值展开后求和即可。转换公式:转换公式:(DnDn-1.D1D0.D-1D-2.D-m)R=DnRn+Dn-1Rn-1+.+D1R1+D0R0+D-1R-1+D-2R-2+.+D-mR-m例例1 (1011.1)2=(123+022+121+120+1 2-1)10 =(8+0+2+1+0.5)10 =(11.5)10 2.2.1 2.2.1 非十进制数转换成十进制数非十进制数转换成十进制数2.2 2.2 数制间的相互转换数制间的相互转换第8页,本讲稿共55页例例2 求求(143.65)8=(?)10解:解:(143.65)8=(182+481+380+68-1+58-2)10 =(64+32+3+0.75+0.078125)10 =(99.828125)10例例3 求求(32CF.4B)16=(?)10解:解:(32CF.4B)16=(3163+2162+12161+15160+416-1+1116-2)10 =(13007.29296875)10 13007.2929687599.8281252.2 2.2 数制间的相互转换数制间的相互转换第9页,本讲稿共55页1.1.整数部分:整数部分:用除基数用除基数r r取余逆排法取余逆排法(先余为低先余为低,后余为高后余为高)即即:把一个十进制的整数不断除以所需要的基数把一个十进制的整数不断除以所需要的基数r,r,直到商为直到商为0 0为止,为止,取其余数取其余数并并逆排逆排(除(除r r取余取余逆排逆排法),就法),就能够转换成以能够转换成以r r为基数的为基数的数。数。例例1 1 求求(29)(29)1010=(?)=(?)2 211101 2 29 2 14 1 2 7 0 2 3 1 2 1 1 0 12.2.2 2.2.2 十进制数转换成非十进制数十进制数转换成非十进制数2.2 2.2 数制间的相互转换数制间的相互转换第10页,本讲稿共55页 16 273 16 17 1 16 1 1 0 1例例2 求求(273)10=(?)16111 8 273 8 34 1 8 4 2 0 4 例例3 求求(273)10=(?)84212.2 2.2 数制间的相互转换数制间的相互转换第11页,本讲稿共55页2.2.小数部分:小数部分:用乘基数用乘基数r r取整顺排法取整顺排法(先整为高先整为高,后整为低后整为低)即:将一个十进制小数转换成即:将一个十进制小数转换成 r r进制小数时,将十进制小数不进制小数时,将十进制小数不断地乘以断地乘以r r,直到满足精度要求或直到纯小数部分为零为止,直到满足精度要求或直到纯小数部分为零为止,取其整数取其整数顺排顺排(乘乘r r取整取整顺排顺排法法)。例例4 4 求求(0.625)(0.625)1010=(=(?)2 2 0.6250.625 2 2 1 1.250 .250 整数整数=1=1 2 2 0 0.50 .50 整数整数=0=0 2 2 1 1.0 .0 整数整数=1 =1 小数值小数值=0=00.1012.2 2.2 数制间的相互转换数制间的相互转换第12页,本讲稿共55页例例5 求求(29.625)10=(?)2解:解:由前面例题可知:由前面例题可知:(29)10=(11101)2 (0.625)10=(0.101)2所以所以 (29.625)10=(11101.101)2 对于既包含整数部分又包含小数部分的十进制数,如对于既包含整数部分又包含小数部分的十进制数,如果要转换到其他进制,则分别对整数部分和小数部分采用前果要转换到其他进制,则分别对整数部分和小数部分采用前述方法,然后组合即是求得的结果。述方法,然后组合即是求得的结果。11101.1012.2 2.2 数制间的相互转换数制间的相互转换第13页,本讲稿共55页应当注意,应当注意,把十进制数转换成二进制时,对于整数均可用有限位二进制把十进制数转换成二进制时,对于整数均可用有限位二进制整数表示,但对于小数却不一定能用有限位的二进制小数表示。当乘整数表示,但对于小数却不一定能用有限位的二进制小数表示。当乘2 2后后使小数部分等于零时,转换结束;当乘使小数部分等于零时,转换结束;当乘2 2后小数部分总是不等于零,转换过程后小数部分总是不等于零,转换过程将是无限的。将是无限的。例例6 求(求(0.1)10=(?)2解解:纯小数部分纯小数部分 整数部分整数部分 0.12=0.2 0.2 0 0.22=0.4 0.4 0 0.42=0.8 0.8 0 0.82=1.6 0.6 1 0.62=1.2 0.2 1 0.22=0.4 0.4 0 0.42=0.8 0.8 0 0.82=1.6 0.6 1 0.62=1.2 0.2 1 0.22=0.4 0.4 0所以所以:(0.1)10=(0.00011001100110)22.2 2.2 数制间的相互转换数制间的相互转换第14页,本讲稿共55页一位拆三位一位拆三位一位拆四位一位拆四位整数从右向左四位并一位整数从右向左四位并一位小数从左向右四位并一位小数从左向右四位并一位 2.2.3 2.2.3 二进制数转换成八、十六进制数二进制数转换成八、十六进制数2.2 2.2 数制间的相互转换数制间的相互转换整数从右向左三位并一位整数从右向左三位并一位小数从左向右三位并一位小数从左向右三位并一位二进制二进制八进制八进制二进制二进制十六进制十六进制1.注意补位!注意补位!2.并位方法(转换成并位方法(转换成十进制数)!十进制数)!第15页,本讲稿共55页100 110 110 111 .010 11(4 6 6 7 .2 )8 101 1011 0111.0101 1(5 B 7 .5 )16例例1 1求求(100110110111.01011100110110111.01011)2 2=(?)=(?)8 84667.26例例2 2 求求 (10110110111.0101110110110111.01011)2 2=(=(?)16 165B7.580000682.2 2.2 数制间的相互转换数制间的相互转换0第16页,本讲稿共55页2.2 数制间的相互转换数制间的相互转换例例3 求求(3F20.3)16=()2 3 F 2 0 .3 0011 1111 0010 0000.001111111100100000.0011第17页,本讲稿共55页2.3.1 2.3.1 2.3.1 2.3.1 算术运算算术运算算术运算算术运算 二进制数与十进制数一样可以进行加、减、乘、除运算。只二进制数与十进制数一样可以进行加、减、乘、除运算。只不过进位或借位不同。不过进位或借位不同。1.1.加法加法 二进制数的加法规则是:逢二进制数的加法规则是:逢2 2进进1 1。0+0=0;1+0=0+1=1;1+1=10例例1 计算计算 (101.01)B+(110.11)B=(?)B 解:解:(101.01)B +(110.11)B (1100.00)B 结果:结果:(101.01)B+(110.11)B=(1100.00)B 2.3 2.3 二进制运算二进制运算1100.00第18页,本讲稿共55页2.2.减法减法 二进制数的减法规则是:二进制数的减法规则是:“借一当二借一当二”例例2 计算计算(1100)B-(110.11)B=(?)B 解:解:(1100.00)B (110.11)B (101.01)B 结果:结果:(1100)B-(110.11)B=(101.01)B3 3.乘法乘法 二进制数的乘法特别简单,因为每一步只包括乘以二进制数的乘法特别简单,因为每一步只包括乘以 “1”或乘以或乘以“0”。二进制乘法规则是:二进制乘法规则是:00=0 10=01=0 11=14.4.除法除法 二进制的除法也很简单,因为所求的商每位不是二进制的除法也很简单,因为所求的商每位不是 “1”就是就是“0”。101.01 2.3 2.3 二进制运算二进制运算第19页,本讲稿共55页 例3 计算计算 (1110)B(1101)B=(?)B (1101.101)B/(101)B=(?)B 解:解:若按十进制数的乘法运算,则有算式:若按十进制数的乘法运算,则有算式:被乘数被乘数 (1110)B(14)D (10.101)B 乘数乘数 (1101)B(13)D (101)B (1101.001)B 1110 101 0000 11 0 1110 10 1 1110 101 乘积乘积 10110110(182)D 101 0 实际上,二进制乘法从这个例子中可以看出可归结为加法和移位。除法?1011011010.101 2.3 2.3 二进制运算二进制运算第20页,本讲稿共55页2.3.2 2.3.2 2.3.2 2.3.2 关系运算关系运算关系运算关系运算 比较两个数据是否相同,若不相同,再区分大小。包括比较两个数据是否相同,若不相同,再区分大小。包括四种四种:“大于大于”、“小于小于”、“等于等于”、“不等于不等于”2.3.3 2.3.3 2.3.3 2.3.3 逻辑运算逻辑运算逻辑运算逻辑运算 (1)(1)逻辑数据逻辑数据:在逻辑上可以代表真与假、是与非、对与错、在逻辑上可以代表真与假、是与非、对与错、有与无这种具有逻辑性的量称为逻辑数据。逻辑上用二进制的有与无这种具有逻辑性的量称为逻辑数据。逻辑上用二进制的0 0和和1 1代表这种逻辑数据。代表这种逻辑数据。(2)(2)逻辑运算逻辑运算:逻辑数据之间的运算称为逻辑运算。逻辑数据之间的运算称为逻辑运算。在计算机中,逻辑数据的值用于判断某个事件成立与否,成立在计算机中,逻辑数据的值用于判断某个事件成立与否,成立为真,反之为假。为真,反之为假。用用1 1代表真,代表真,0 0代表假代表假。2.3 2.3 二进制运算二进制运算第21页,本讲稿共55页 逻逻辑辑或或运运算算(逻逻辑辑“加加”法法):用用符符号号“+”或或 “”来来表示。表示。如:如:逻辑变量逻辑变量A,BA,B和和C C(可取(可取1 1、0 0值)逻辑加法运算为:值)逻辑加法运算为:A+B=C A+B=C 或或 AB=C AB=C 逻辑逻辑或或运算规则:运算规则:0+0=00+0=0,0+1=10+1=1,1+0=11+0=1,1+1=11+1=1,例例1 1 两个二进制数据按位进两个二进制数据按位进行行“或或”运算运算 解:解:1011010110110101 +11110101+11110101 1111010111110101或运算真值表 2.3 2.3 二进制运算二进制运算第22页,本讲稿共55页逻逻辑辑“与与”运运算算(逻逻辑辑“乘乘”法法):用用符符号号或或“”或或“”来来表表示示 如:如:AB=C AB=C AB=C AB=C B=C B=C 或者或者 AB=C AB=C 逻辑乘法运算规则:逻辑乘法运算规则:00=0 00=0,01=0 01=0,10=0 10=0,11=1 11=1,例例2 2 两个二进制数据按位两个二进制数据按位进行进行“与与”运算运算 1011010110110101 11110101 11110101 1011010110110101与运算真值表C=AB000010100111 2.3 2.3 二进制运算二进制运算第23页,本讲稿共55页逻辑非运算(逻辑逻辑非运算(逻辑“否定否定”运算):运算):用符号用符号“”表示。表示。运算规则为:运算规则为:=1=1 非非0 0等于等于1 1;=0=0 非非1 1等于等于0 000逻辑非运算真值表A A01 2.3 2.3 二进制运算二进制运算第24页,本讲稿共55页异或逻辑运算:异或逻辑运算:用符号用符号“”表示。表示。运算规则为:运算规则为:0 0 0=0 00=0 0 1=1 1=1 1 1 0=1 10=1 1 1=01=0 即两个逻辑变量即两个逻辑变量相异相异,输出才为,输出才为1 1。逻辑异或运算真值表逻辑异或运算真值表=2.3 2.3 二进制运算二进制运算第25页,本讲稿共55页 无论是数字还是文字、图形、图象、声音、视频等,任何形式的数据进无论是数字还是文字、图形、图象、声音、视频等,任何形式的数据进入计算机都必须进行入计算机都必须进行0 0和和1 1的二进制编码的转换。的二进制编码的转换。为什么采用二进制编码?为什么采用二进制编码?1 1、物理上容易实现,可靠性强;、物理上容易实现,可靠性强;2 2、运算简单,通用性强;、运算简单,通用性强;3 3、计算机中二进制、计算机中二进制0 0、1 1数码与逻辑量数码与逻辑量“真真”、“假假”的的0 0与与1 1吻合,吻合,便于表示和进行逻辑运算。便于表示和进行逻辑运算。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法 进入计算机的数据都要进行二进制编码的转换,同样,从计算机输出的进入计算机的数据都要进行二进制编码的转换,同样,从计算机输出的数据要进行逆向的转换。数据要进行逆向的转换。第26页,本讲稿共55页2.4.1 2.4.1 数值型数据在计算机内的表示数值型数据在计算机内的表示 1 1、机器数:机器数:将在机器内存放的正、负号数值化的数称为机将在机器内存放的正、负号数值化的数称为机器数,机器数对应的实际数值称为机器数的真值器数,机器数对应的实际数值称为机器数的真值。机器数的三个特点机器数的三个特点:1 1)数的符号数值化:数的最高位定义为符号位,)数的符号数值化:数的最高位定义为符号位,1 1表示负,表示负,0 0表示正。表示正。例:假定例:假定8 8位位 例:例:(-193)(-193)D D=(-1100 0001)=(-1100 0001)B B 16 16位真值数位真值数(-000 0000 1100 0001)(-000 0000 1100 0001)B B 其机器数为其机器数为 :1 1000 0000 1100 0001 000 0000 1100 0001 101111000 0符号位符号位2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第27页,本讲稿共55页2 2)计算机中可表示整数和纯小数,因此小数点约定在一)计算机中可表示整数和纯小数,因此小数点约定在一个固定的位置上,这样就不用占用个固定的位置上,这样就不用占用1 1个数位。个数位。3 3)机器数表示的范围受字长和数据类型的限制。例)机器数表示的范围受字长和数据类型的限制。例如若表示一个整数,字长为如若表示一个整数,字长为8 8位,最大值位,最大值 (01111111)(01111111)2 2即即(127)(127)D,D,若超出若超出+127,+127,就要溢出就要溢出。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第28页,本讲稿共55页 1 1)定点数)定点数 定点数:小数点的位置是固定的定点数:小数点的位置是固定的,约定在某一固定位置上,约定在某一固定位置上,所以称为定点数表示法。所以称为定点数表示法。定点小数定点小数:小数点的位置在最高数值位的前面小数点的位置在最高数值位的前面,符号位的后符号位的后面。面。定点小数是纯小数,即所表示的小数的绝对值均小于定点小数是纯小数,即所表示的小数的绝对值均小于1 1。2 2、数的定点和浮点表示、数的定点和浮点表示符号 有有效效数数值值部部分分小数点小数点2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第29页,本讲稿共55页定点整数定点整数:小数点的位置约定在最低数值位的后面。小数点的位置约定在最低数值位的后面。注意:注意:小数点在存储单元中不占存储位。小数点在存储单元中不占存储位。定点整数分为有符号和无符号两种,对于有符号的整数,最高位就是符号位。定点整数分为有符号和无符号两种,对于有符号的整数,最高位就是符号位。对于无符号数,所有的数字都是有效数值。对于无符号数,所有的数字都是有效数值。例例 用定点数表示整数用定点数表示整数(+123)+123)10 10 (-65)(-65)10 10 解:已知解:已知 (123)(123)1010=(+1111011)=(+1111011)2 2,(-65)(-65)1010=(-1000001)=(-1000001)2 2 假定整数占假定整数占1616位,存放的形式分别为:位,存放的形式分别为:00 000000011110111000000001000001(123)10(-65)10如果是无符号数如果是无符号数3283310000 000010000012.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第30页,本讲稿共55页整数表示的数是精确的,但数的范围是很有限的。根据存放数的位整数表示的数是精确的,但数的范围是很有限的。根据存放数的位数,它们可以用数,它们可以用8 8、1616、32 32 位等表示,当以补码形式表示时它们表示的范位等表示,当以补码形式表示时它们表示的范围如下:围如下:二进制位数无符号整数的表示范围有符号整数的表示范围80(28-1)-27(27-1)160(216-1)-215(215-1)320(232-1)-231(231-1)8 8、1616、32322.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第31页,本讲稿共55页2 2)浮点数:浮点表示来源于数学中的指数表示形式)浮点数:浮点表示来源于数学中的指数表示形式:N=MR N=MRC C。例如例如:十进制数十进制数(123)(123)D D可以写作可以写作0.1230.12310103 3,1.231.2310102 2小数点的位置是可以变化的。小数点的位置是可以变化的。在计算机中,一个浮点数由两部分构成:阶码在计算机中,一个浮点数由两部分构成:阶码C C和尾数和尾数M M。底数。底数R R是事先约定的,在机器数中不出现。是事先约定的,在机器数中不出现。阶码阶码:相当于指数,是一个带符号的整数,决定数的范围相当于指数,是一个带符号的整数,决定数的范围.尾数尾数:为了便于计算机中小数点的表示,规定尾数的绝对值为了便于计算机中小数点的表示,规定尾数的绝对值为大于等于为大于等于0.10.1并且小于并且小于1 1的小数(规格化)。尾数表示数值的的小数(规格化)。尾数表示数值的有效数字,决定数的精度。有效数字,决定数的精度。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第32页,本讲稿共55页注意:注意:a a、阶符、数符各占、阶符、数符各占1 1位。位。b b、尾数的位数决定数的精度。、尾数的位数决定数的精度。c c、阶码是定点整数,其位数决定数的大小范围。浮点数表示扩大了、阶码是定点整数,其位数决定数的大小范围。浮点数表示扩大了数的范围。数的范围。阶符阶码数符尾数浮点数在计算机内的存储形式为:浮点数在计算机内的存储形式为:任意二进制规格化浮点数的表示形式:任意二进制规格化浮点数的表示形式:N=d2N=d2p pd d为尾数,前面的为尾数,前面的为数的符号。为数的符号。P P为阶码,其前面的为阶码,其前面的为阶为阶码的符号。码的符号。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第33页,本讲稿共55页例:例:N=(-1101.010)N=(-1101.010)B B=(-0.110101)=(-0.110101)B B*2*2(100)(100)B B 设共占设共占1616位,尾数位,尾数8 8位,阶码位,阶码6 6位位0000100111010100阶符阶码数符尾数2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第34页,本讲稿共55页2.4.2 原码、补码和反码原码、补码和反码 以机器数方式存放数据时数符位是用以机器数方式存放数据时数符位是用0 0表示正数,表示正数,1 1表示负数。机器数在计算时要考虑符号问题表示负数。机器数在计算时要考虑符号问题,若将符号位同时若将符号位同时和数值参加运算则可能产生错误结果。和数值参加运算则可能产生错误结果。如:如:-5+9-5+9结果应为结果应为4 4,但若按机器数方式并且符号位,但若按机器数方式并且符号位参加运算,则运算如下参加运算,则运算如下:(下面举例介绍原码、反码、补码)(下面举例介绍原码、反码、补码)10000101 -5 +00001001 +9 10001110 -142.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第35页,本讲稿共55页1、原码、原码 整数整数N N的原码指:的原码指:其数的符号位其数的符号位0 0表示正,表示正,1 1表示负,其表示负,其数值部分就是数值部分就是N N的绝对值的二进制表示。通常用的绝对值的二进制表示。通常用NN原原表示表示N N的原的原码。码。例:例:N=74D=(+1001010)B N原原=0 1001010 符号位符号位 数值数值 又如又如:N=-74D=(-1001010)B N原原=1 1001010 符号位符号位 数值数值最高位为符号位,后面的是数值。最高位为符号位,后面的是数值。在原码表示中,在原码表示中,“0”有两种表示形式,即:有两种表示形式,即:+0原原=00000000 -0原原=10000000注意注意:+0+0原原 -0-0原原2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第36页,本讲稿共55页2、反码、反码 对于正数,其反码与原码相同对于正数,其反码与原码相同;对于负数,其数的符号位为对于负数,其数的符号位为1 1,其数值绝对值各位取反,其数值绝对值各位取反(除符号除符号位外各位取反位外各位取反)。通常用。通常用NN反反表示表示N N的反码。的反码。例:例:N=(74)D=(+1001010)B N 原原=N反反=0 1001010 符号位符号位 数值数值 又如:又如:N=-74D=(-1001010)B N原原=11001010 N反反=1 0110101 符号位符号位 原码各位取反原码各位取反在反码表示中,在反码表示中,“0 0”有两种表示且有两种表示且+0+0反反-0-0反反 +0反反=00000000 -0反反=11111111注意注意2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第37页,本讲稿共55页3 3、补码、补码 对于正数,其补码与原码相同;对于正数,其补码与原码相同;对于负数,其数的符号位为对于负数,其数的符号位为1 1,其数值绝对值各位取反,其数值绝对值各位取反(除符号位除符号位外各位取反外各位取反)后最右一位加后最右一位加1 1。通常用通常用NN补补表示表示N N的补码。的补码。即反码加即反码加1 1。例:例:N=(74)N=(74)D D=(+1001010)=(+1001010)B B N N 原原=N=N反反=N=N补补=0 0 10010101001010 符号位符号位 数值数值例如例如:(-127):(-127)D D=(-1111111)=(-1111111)B B-127-127补补=1 0000001=1 0000001例如例如:-0-0D D=(-0000000)=(-0000000)B B -0000000 -0000000反反=11111111=11111111 -0000000 -0000000补补=00000000=00000000(进位舍掉)(进位舍掉)+0+0补补=00000000=00000000由此可以看出由此可以看出 +0+0补补=-0=-0补补=00000000 =00000000 在补码中在补码中0 0只有一种表示。只有一种表示。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第38页,本讲稿共55页提醒:提醒:一个用补码表示的二进制数,最高位为符号位。当符号位为一个用补码表示的二进制数,最高位为符号位。当符号位为0 0时,时,表示这个数是正数,后面各位是该数的二进制值;但是当符号位为表示这个数是正数,后面各位是该数的二进制值;但是当符号位为1 1时,时,后面各位不是该负数的二进制值,要把它们减后面各位不是该负数的二进制值,要把它们减1 1后各位取反(符号位不后各位取反(符号位不取)才得到它的真值。取)才得到它的真值。例如:例如:XX补补=(11100001)=(11100001)2 2,但,但 X(-1100001)X(-1100001)2 2,而是而是X=(-0011111)X=(-0011111)2 2=(-31)=(-31)1010采用补码的优点:采用补码的优点:当采用补码时,就可以把减法转换为加法,且可证当采用补码时,就可以把减法转换为加法,且可证明两数和的补码等于两数补码的和,即:明两数和的补码等于两数补码的和,即:X+YX+Y补补=X=X补补+Y+Y补补X+YX+Y原原=X+YX+Y补补 补补2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第39页,本讲稿共55页例:例:在字长为在字长为8 8位的二进制数字系统中,当位的二进制数字系统中,当X=(64)X=(64)D D,Y=(10)D,求,求X-Y=?解:解:X=(64)D=(+1000000)B Y=(10)D=(+0001010)B X-Y=X+(-Y)又又 X补补=01000000 -Y补补=11110110 0 1 0 0 0 0 0 0 64 1 1 1 1 0 1 1 0 -10 1 0 0 1 1 0 1 1 0 54自然丢失自然丢失 符号位符号位 符号位 X(-Y)补补00110110 这是一个正数这是一个正数 X(-Y)原原 X(-Y)补补补补00110110 X-Y X(-Y)(0110110)B(54)D 在字长为在字长为8 8位的机器中,从最高位位的机器中,从最高位(符号位符号位)的进位是自然丢失的。的进位是自然丢失的。注意注意2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第40页,本讲稿共55页计算机中数据的表示方法机器数机器数01001101+77+77 符号位符号位真值真值机机器器数数/真真值值即:即:+77 0 1001101小小小小 结结结结第41页,本讲稿共55页10 1 1 0 0 1 01 1 0 0 1 1 0 11 0 1 1 0 0 11原原原原码码码码反反反反码码码码补码补码补码补码带带符符号号的的机机器器数数-77-77 原码原码反码反码补码补码计算机中数据的表示方法小小小小 结结结结第42页,本讲稿共55页0100000010000011定点小数:定点小数:定点整数:定点整数:定定点点数数符号位符号位隐含小数位(隐含小数位(+0.5)符号位符号位隐含小数位(隐含小数位(-3)计算机中数据的表示方法小小小小 结结结结第43页,本讲稿共55页2.4.3 2.4.3 字符型数据在计算机内的表示字符型数据在计算机内的表示 字符:字符:指所有不可以做算术运算的数据,指所有不可以做算术运算的数据,包括:包括:1 1、西方字符(字母、数字符号、各种符号)、西方字符(字母、数字符号、各种符号)2 2、中文字符、中文字符 由于计算机是以二进制的形式存储和处理数据的,因此字符由于计算机是以二进制的形式存储和处理数据的,因此字符也必须按特定的规则进行二进制编码才能进入到计算机。也必须按特定的规则进行二进制编码才能进入到计算机。字符编码的方法:首先确定需要编码的字符总数,然后将字符编码的方法:首先确定需要编码的字符总数,然后将每一个字符按顺序编号,编号值的大小无意义,仅作为识别与每一个字符按顺序编号,编号值的大小无意义,仅作为识别与使用这些字符的依据。字符的多少涉及编码的位数。使用这些字符的依据。字符的多少涉及编码的位数。由于中西文形式不同,所以使用不同的编码。由于中西文形式不同,所以使用不同的编码。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第44页,本讲稿共55页1、西文编码西文编码 ASCII码(码(American Standard Code for Information Interchange美国标准信美国标准信息交换码息交换码)美国标准信息码,每字符用美国标准信息码,每字符用7 7位二进制码表示,最高位为位二进制码表示,最高位为0 0,共,共2 27 7=128=128种编码(字母表和种编码(字母表和常用符号)。常用符号)。d6d5d4d3d2d1d00000010100111001011101110000NULDLE空格0P、P0001SOHDC1!1AQaq0010STXDC2”2BRbr0011EYXDC3#3CScs0100EOTDC44DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDEL第45页,本讲稿共55页 说明:说明:计算机的内部存储和操作常以字节为单位,计算机的内部存储和操作常以字节为单位,即即8个二进制位,因此一个字符在计算机内实际用个二进制位,因此一个字符在计算机内实际用8位表示。位表示。正常情况下最高位正常情况下最高位d7为为0。在需要奇偶校验时这一位可用。在需要奇偶校验时这一位可用于存放奇偶校验值。于存放奇偶校验值。2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第46页,本讲稿共55页2 2 2 2.汉字编码汉字编码汉字编码汉字编码 汉字是象形文字,种类繁多,编码比西文困难的多,而汉字是象形文字,种类繁多,编码比西文困难的多,而且在一个汉字处理系统中,输入、内部处理、输出对汉字编且在一个汉字处理系统中,输入、内部处理、输出对汉字编码的要求不同,因此要进行一系列的编码及转换。如图所示:码的要求不同,因此要进行一系列的编码及转换。如图所示:输入码输入码地址码地址码字形码字形码国标码国标码机内码机内码汉字输入汉字输入汉字输出汉字输出2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第47页,本讲稿共55页1)国标码国标码 67636763个汉字,分两级:一级汉字有个汉字,分两级:一级汉字有37553755个,按拼音排列二个,按拼音排列二级汉字有级汉字有30083008个,按偏旁部首排列个,按偏旁部首排列.为了编码,将汉字分成若干个区,每个区为了编码,将汉字分成若干个区,每个区9494个汉字,由区个汉字,由区号和位号构成汉字的区位码。例如号和位号构成汉字的区位码。例如“中中”位于位于5454区区4848位,区位位,区位码为码为54485448 区号和位号加上区号和位号加上3232构成了汉字的国标码。国标码占两个字构成了汉字的国标码。国标码占两个字节。每个字节的最高位为节。每个字节的最高位为0.0.2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第48页,本讲稿共55页2)汉字机内码汉字机内码 国标码的每个字节的最高位由国标码的每个字节的最高位由0 0换换1 1,即得到汉字的机内码。,即得到汉字的机内码。ASCII ASCII码每个字节的最高位为码每个字节的最高位为0 0,所以西方的代码均小于,所以西方的代码均小于128128,而,而汉字机内码的每个字节都大于汉字机内码的每个字节都大于128128,这样就可以将汉字编码与,这样就可以将汉字编码与ASSCIASSCI码码区分开。区分开。每个汉字编码占两个字节。每个汉字编码占两个字节。3)汉字的输入码)汉字的输入码 这是一种用计算机标准键盘上的擦子键的不同排列组合来对汉字这是一种用计算机标准键盘上的擦子键的不同排列组合来对汉字的输入进行的编码。的输入进行的编码。如:区位码、全拼、双拼、五笔字形等。如:区位码、全拼、双拼、五笔字形等。如:中:如:中:(5448)(zhong)(k)2.4 2.4 计算机中数据的表示方法计算机中数据的表示方法第49页,本讲稿共55页4)汉字字形码汉字字形码 汉字字形又称为字模,用于显示屏或打印机输出。通常汉字字形又称为字模,用于显示屏或打印机输出。通常有两各种表示方式:点阵和矢量函数表示。以点阵为例有两各种表示方式:点阵和矢量函数表示。以点阵为例: