1、第第 3 3 章章 计算机中的数据与编码计算机中的数据与编码主主 要要 内内 容容 3.2 3.2 计算机内部信息的表示计算机内部信息的表示 3.3 3.3 计算机中数据的基本运算计算机中数据的基本运算 3.1 3.1 计算机运算计算机运算基础基础十十 进进 制制 数数逢逢1010进进1 1 二二 进进 制制 数逢数逢 2 2 进进1 1 八八 进进 制制 数逢数逢 8 8 进进1 1 十六进制十六进制 数数逢逢1616进进1 1 将将数码按序排列成若干位的数字,并遵照某种由低数码按序排列成若干位的数字,并遵照某种由低位到高位的进位方式来表示数值的方法,称为位到高位的进位方式来表示数值的方法,
2、称为(简称计数制)。(简称计数制)。3 3.1.1 计算机运算基础计算机运算基础 几种常用计数制表示方法 十进制十进制 二进制二进制 八进制八进制 十六进制十六进制 数制中允许使用数制中允许使用89068906D D,(,(8906)8906)1010 D Decimalecimal (D D可省略)可省略)10011001B B,(1001)(1001)2 2 B Binaryinary 12371237Q Q,(1237)(1237)8 8 O Octonaryctonary 10C10CF FH H,(10CF)10CF)16 16 H Hexadecimalexadecimal 位权与
3、基数的关系 10210110-210210110-2位权与基数的关系:位权与基数的关系:各进制中各进制中的值恰好是的值恰好是的若干次幂。的若干次幂。高高 2 1 0 -1 -2 低低 5 5 5.5 5有了基数与位权的关系,那么任何一种数制表示的数都有了基数与位权的关系,那么任何一种数制表示的数都可以可以 按位权展开按位权展开为一个多项式之和为一个多项式之和(对应十进制值对应十进制值):555.55=5102+5101+5100+510-1+510-2(1011)2=1 23+0 22+1 21+1 20=11(436)8=4 82+3 81+6 80=286(FDE)16=15 162+13
4、 161+14 160=4062 位权与基数的关系 将整数部分和小数部分分别转换,然将整数部分和小数部分分别转换,然后用小数点连接起来。后用小数点连接起来。任何任何数制数制 十进制十进制 二二 进进 制制 十六进制十六进制 二二 进进 制制 八进制八进制3 3.1.1 计算机运算基础计算机运算基础任何进制 十进制 练习:练习:(77)8 =(1110.01)2=(AD)16=6314.25173练习:练习:(10)10=(10)2 =(10)8 =(10)16=10 2 816 任何进制 十进制 整数部分的转换 十进制 任何进制 用用 (即即)多次去多次去被转换的十进制数,直至被转换的十进制数
5、,直至商为零。每次相除所得的商为零。每次相除所得的,便是对应的进制数的,便是对应的进制数的一位。一位。是对应进制数的是对应进制数的。除除 R 取取余余法法除除 2 取取余法余法 4 6 022 321 11251221210201低位低位高位高位46=101110 练习:练习:14=B 60=()866=()16 1110744216-(2B)16=7)168+(6)8=102)866除除 R 取取余法余法 小数部分的转换 用用(即即)多次去多次去被转换的十进制数的小数部被转换的十进制数的小数部分,每次相乘后所得的乘积的分,每次相乘后所得的乘积的,便是对应的,便是对应的进制数小数的一位。进制数
6、小数的一位。是对是对应进制数小数的应进制数小数的。乘乘 R 取取整整法法 2.十进制 任何进制 0.625 2=1.25 1 高位高位 0.25 2=0.5 0 0.5 2=1.0 1 低位低位 0.625=0.101 0.625 ()乘乘 2 取整法取整法 十进制十进制 二进制二进制练习:练习:14.75=0.36=(取取4位小数)位小数)1110.11 0.0101 二进制 十六进制 把把二进制数转换成十六进制数时,整数部分和小二进制数转换成十六进制数时,整数部分和小数部分要分开考虑,数部分要分开考虑,按按,把每四位二进制数用对应的十六进,把每四位二进制数用对应的十六进制数写出,结果就是对
7、应的十六进制数。制数写出,结果就是对应的十六进制数。的的分组与整数部分相同分组与整数部分相同,只是只是分。分。反之,将十六进制数转换成二进制,只要把反之,将十六进制数转换成二进制,只要把用对应的用对应的表示即可表示即可。二进制二进制 十六进制十六进制1011010.10111B=()H 0 101 1010.1011 1000 5 A B 8 1011010.10111B=5A.B8 H练习:练习:100101.001=3C.2A=25.2111100.0010101二进制二进制 十六进制十六进制 二进制 八进制 把二进制数转换成八进制数时,整数部分和小数把二进制数转换成八进制数时,整数部分和
8、小数部分要分开考虑,部分要分开考虑,自右向左按自右向左按,不,不足三位用足三位用0 0补齐,把每三位二进制数用对应八进制数补齐,把每三位二进制数用对应八进制数写出,结果就是对应的八进制数。写出,结果就是对应的八进制数。的分组与的分组与整数部分相同整数部分相同,只是只是从左向右分。从左向右分。反之,将八进制数转换成二进制,只要把每位八反之,将八进制数转换成二进制,只要把每位八进制数用对应的三位二进制数表示即可进制数用对应的三位二进制数表示即可。所有所有能被计算机接受和处理的符号的集合都称能被计算机接受和处理的符号的集合都称为为。数据是计算机处理的对象,是信息的载体。数据是计算机处理的对象,是信息
9、的载体或称是或称是。3.2 3.2 计算机计算机内部信息的表示内部信息的表示 即一个二进制即一个二进制,它是表示数据的最小,它是表示数据的最小单位单位(0(0或或1)1)。由由二进制数表示,即一个字节由二进制数表示,即一个字节由b7b6b5b4b3b2b1b0b7b6b5b4b3b2b1b0组成,最低位为组成,最低位为b0b0,最高位,最高位为为b7b7。字节是字节是计算机存储系统的计算机存储系统的。3.2 3.2 计算机计算机内部信息的表示内部信息的表示 计算机一次能够处理的计算机一次能够处理的称为机称为机器字长,简称字长。字长器字长,简称字长。字长取决于计算机的内部结构,取决于计算机的内部
10、结构,一般都为一般都为 的整数倍。常见的微型计算机的字长有的整数倍。常见的微型计算机的字长有8 8位位、1616位、位、3232位和位和6464位等。字长愈长,计算机的运算速位等。字长愈长,计算机的运算速度度和计算精度就和计算精度就愈愈高高。3.2 3.2 计算机计算机内部信息的表示内部信息的表示 一个数在计算机中的表示形式称为一个数在计算机中的表示形式称为,而,而这个数所表示的实际数值,称为机器数的这个数所表示的实际数值,称为机器数的。为了为了表示数的正、负,数的符号也数字化了,表示数的正、负,数的符号也数字化了,通常把一个数的通常把一个数的规定为规定为,3.2 3.2 计算机计算机内部信息
11、的表示内部信息的表示(2)(2)有符号数:有符号数:(整数的表示方法整数的表示方法),其余的位才是真正的数值位。,其余的位才是真正的数值位。:符号位用:符号位用 表示表示,用,用 表示表示,数值部分不变。,数值部分不变。(1)(1)无符号数:无符号数:(整数,表示地址编号整数,表示地址编号)无符号数没有符号位,全部有效位均用来表示数的无符号数没有符号位,全部有效位均用来表示数的大小。当字长为大小。当字长为 时,一个无符号数的最大值为时,一个无符号数的最大值为:。例如例如:8:8位机和位机和1616位机的一个无符号整数的最大值分别为:位机的一个无符号整数的最大值分别为:(11111111)(11
12、111111)2 2=(255)=(255)1010 (1111111111111111)(1111111111111111)2 2=(65535)=(65535)1010 1 1字节字节(n=8)(n=8)的二进制数可以表示的的二进制数可以表示的无符号数的范围为:无符号数的范围为:0 2550 255例如:例如:1000101B1000101B原原 =1000101B1000101B 10001011000101B B 原原 =1000101B1000101B:正数的反码与原码相同,负数的反码:正数的反码与原码相同,负数的反码是符位是符位 用用 表示,数值位表示,数值位。正数的补码与原码相同
13、,负数的补码为其正数的补码与原码相同,负数的补码为其。可以把减法变为加法,使正负数的加减运算可以把减法变为加法,使正负数的加减运算 转换为加法运算转换为加法运算 (提高运算速度,简化电路提高运算速度,简化电路 结构结构 )。例如:例如:(+1000101)(+1000101)2 2 反反 =0 010001011000101 (-1000101)(-1000101)2 2 反反 =1 101110100111010例如:例如:(+1000101)(+1000101)2 2 补补 =0 010001011000101 (-1000101)(-1000101)2 2 补补 =(-1000101)=
14、(-1000101)2 2 反反 +1=+1=1 101110110111011 1 1字节字节(n=8)(n=8)的二进制数可以表示的的二进制数可以表示的有符号数的范围为:有符号数的范围为:-128 +127-128 +127(3)(3)机器数中小数点的位置:机器数中小数点的位置:(实数的表示实数的表示,小数点不占存储位小数点不占存储位):小数点位置固定不变:小数点位置固定不变(采用上面的三种编码采用上面的三种编码)。定点整数定点整数小数点在数的最右方(纯整数小数点在数的最右方(纯整数)定点小数定点小数小数点在符号位之后(纯小数小数点在符号位之后(纯小数):主要用于表示既有整数部分,又有小数
15、部分的:主要用于表示既有整数部分,又有小数部分的实数。它把一个小数点在任意位置的实数转化为用一个实数。它把一个小数点在任意位置的实数转化为用一个和某一和某一数的数的的整数次幂的乘积形式来表示的整数次幂的乘积形式来表示。例如:例如:(876.37)10=0.87637103 (110.11)2=(0.11011 211)2(4)BCD4)BCD码码 计算机计算机把把数转换为数转换为编码时,若将每编码时,若将每 位位十进制数用十进制数用 位二进制编码来表示,这种二进制编码称为位二进制编码来表示,这种二进制编码称为(Binary (Binary Code Decimal Code Decimal 二
16、进制编码的十进制二进制编码的十进制数数)。最常用的最常用的BCDBCD码为码为BCDBCD码。码。例如:例如:(36.97)=(00110110.10010111)(1001 0011 0001.0100 0101)=(931.45)是是由美国国家标准委员会制定的一种包括由美国国家标准委员会制定的一种包括数字、字母、通用符号、控制符号在内的数字、字母、通用符号、控制符号在内的(西文西文字符字符),全称叫美国国家信息交换标准,全称叫美国国家信息交换标准代码代码 (American Standard Code for Information Interchange。每个每个 用用7 7位二进制数表
17、示,即位二进制数表示,即ASCIIASCII码是一种码是一种7 7位编码,其排列次序为位编码,其排列次序为b b6 6b b5 5b b4 4b b3 3b b2 2b b1 1b b0 0,b b6 6为高为高位,位,b b0 0为低位。为了占满一个字节为低位。为了占满一个字节(8(8位位),则将最高位,则将最高位b b7 7置置0 0,后,后7 7位为位为(00000001111111(00000001111111即即0127)0127)。3.2 3.2 计算机计算机内部信息的表示内部信息的表示 位二进制代码位二进制代码有有0 0和和1 1共共=2=2种状态,种状态,位二进制代码位二进制代
18、码有有0000、0101、1010和和1111共共=4=4种状态,以此类推,种状态,以此类推,位二进制位二进制代码代码有有种种组合组合状态状态。如果用每一种状态来表示一个字符,。如果用每一种状态来表示一个字符,位二进制代码可表示位二进制代码可表示个不同的字符。个不同的字符。是由是由 =个个组成组成(P36)P36)1)1)数字数字0909(数字字符数字字符):(ASCII(ASCII码值:码值:30H39H)30H39H)2)2)字母字母(包括包括大小写字母大小写字母):):ASCII ASCII码值码值:大写字母大写字母(AZ)(AZ):41H5AH(41H5AH(65906590)小写字母
19、小写字母(az)(az):61H7AH(61H7AH(9712297122)3)3)通用符号通用符号:如如+-=+-=*/等等(分散在字符集中分散在字符集中)4)4)控制字符控制字符:如空格:如空格SP(20H)SP(20H)、回车回车CRCR等等(ASCII(ASCII码字符可码字符可)小写字母大于大写字母小写字母大于大写字母 字母大于数字字母大于数字 所有字符大于空格所有字符大于空格 空格大于所有控制字符空格大于所有控制字符(除了除了Del)Del)【小写字母小写字母】【大写字母大写字母】【数字数字】【空格空格】【控制字符控制字符】计算机进行计算机进行的过程:的过程:从从键盘键入字符信息,
20、键盘键入字符信息,编码电路编码电路将字符转换成对应将字符转换成对应的的ASCIIASCII码存入计算机,进行处理后,再将码存入计算机,进行处理后,再将ASCIIASCII码表示的码表示的数据经数据经字符发生器字符发生器(计算机内部部件)转换成对应的字(计算机内部部件)转换成对应的字符点阵符点阵后在显示器后在显示器或或打印机上输出打印机上输出。国家标准信息交换用汉字编码字符集国家标准信息交换用汉字编码字符集基本集基本集 共收集、定义了共收集、定义了70007000多个基本汉字,其中包括多个基本汉字,其中包括使用频率较高的一级汉字使用频率较高的一级汉字37553755个,使用频率较低的二级汉个,使
21、用频率较低的二级汉字字30083008个,另外还有拉丁字母、俄文字母、日语假名、希个,另外还有拉丁字母、俄文字母、日语假名、希腊字母、汉语拼音字母、数字、常用符号等腊字母、汉语拼音字母、数字、常用符号等682682个。个。规定每个汉字用规定每个汉字用的二进制编码表示,的二进制编码表示,每个字节的每个字节的,其余,其余7 7位用于表示汉字信息。位用于表示汉字信息。将将的的2 2个字节的二进制代码的个字节的二进制代码的都置都置 后就得到对应的汉字机内码。当计算机处理字符数后就得到对应的汉字机内码。当计算机处理字符数据时,当遇到两个连续字节的最高位均为据时,当遇到两个连续字节的最高位均为1 1,便会
22、将这两,便会将这两个字节视为个字节视为1 1个汉字机内码,而当遇到最高位为个汉字机内码,而当遇到最高位为0 0的字节,的字节,则将其看做则将其看做1 1 个个ASCIIASCII码西文字符。码西文字符。汉字汉字是汉字信息处理系统内部存储、处理汉字是汉字信息处理系统内部存储、处理汉字用的编码用的编码()。由于汉字也要通过键盘输入,因此还必。由于汉字也要通过键盘输入,因此还必须要有汉字须要有汉字(也称(也称,拼音输入、五笔输入等),拼音输入、五笔输入等)。在汉字输出时,需配置汉字在汉字输出时,需配置汉字,与机内码保持映,与机内码保持映像关系,并以点阵和矢量方式形成汉字字形。像关系,并以点阵和矢量方
23、式形成汉字字形。输入码输入码机内码机内码国标码国标码字形码字形码显示输出显示输出打印输出打印输出 各种汉字代码之间的关系(1)(1)两个两个二进制数的加、减运算规则:二进制数的加、减运算规则:加法规则加法规则 减法减法规则规则 0+0=0 0-0=00+0=0 0-0=0 0+1=1 0+1=1 1+0=1 1+0=1 1-0=11-0=1 1-1=01-1=0(2)(2)二进制数的加减运算:二进制数的加减运算:利用利用1 1位二进制数的加减规则,并遵循位二进制数的加减规则,并遵循“”、“”的原则。的原则。3.3 3.3 计算机中计算机中数据数据的基本运算的基本运算(1)(1)运算运算(AND
24、)(AND):又称:又称,其表示形式为:,其表示形式为:Y=ABY=AB 与运算的规则与运算的规则:00=0 01=0 10=0 (只有(只有A A、B B两逻辑变量全为两逻辑变量全为 时,时,Y Y才为才为,否则为,否则为0 0)(2)(2)运算运算(OR)(OR):又称:又称,其表示形式为:,其表示形式为:Y=A+BY=A+B 或运算的规则:或运算的规则:0+1=1 1+0=1 1+1=1 (只有(只有A A、B B两逻辑变量全为两逻辑变量全为 时,时,Y Y才为才为,否则为,否则为1 1)3.3 3.3 计算机中计算机中数据数据的基本运算的基本运算多位与运算(逻辑乘):(逐位运算)如:1
25、010 1100=1000多位或运算(逻辑加):(逐位运算,不进位)如:1010 1100=11103.3 3.3 计算机中计算机中数据数据的基本运算的基本运算(3)(3)运算运算(NOT)(NOT):指的是使某一逻辑变量取其相反值。:指的是使某一逻辑变量取其相反值。其表示形式为:其表示形式为:Y=A Y=A 非运算的规则:非运算的规则:0=1 1=00=1 1=0 (A A为为0 0,则,则Y Y为为1 1;A A为为1 1,则,则Y Y为为0 0。)。)(4)(4)运算运算(XOR)(XOR):表示形式为:表示形式为:Y=AY=A B B,异或运算的规则异或运算的规则 :0 0 1=1 1=1 1 1 0=1 0=1 (A A、B B为为0 0或或1 1时,时,Y Y为为;A A、B B取值取值时,时,Y Y为为)课后阅读课后阅读:教程教程第第1 1章至第章至第7 7章内容章内容课后课后练习练习:教程教程第第1 1章至第章至第7 7章习题章习题第第 7 7 章章计算机领域的新技术计算机领域的新技术