《计算机中的数据表示与存储精选文档.ppt》由会员分享,可在线阅读,更多相关《计算机中的数据表示与存储精选文档.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机中的数据表示与存储计算机中的数据表示与存储计算机中的数据表示与存储计算机中的数据表示与存储本讲稿第一页,共五十五页9/21/20221第三章第三章 计算机中数据表示与存储计算机中数据表示与存储计算机的基本功能是对数据进行计算和处理计算机的基本功能是对数据进行计算和处理加工。加工。计算机可以计算机可以输入输入数据、数据、处理处理数据、数据、存储存储数据数据和和输出输出数据。数据。数据数据是对客观事物的属性的描述,包括文字、是对客观事物的属性的描述,包括文字、数字、符号、声音、图形和图像等。数字、符号、声音、图形和图像等。本章将讨论各种数据在计算机中如何表示本章将讨论各种数据在计算机中如何表
2、示?本讲稿第二页,共五十五页2022/9/212信息的概念信息的概念信息信息是用文字、数字、符号、声音、图形和是用文字、数字、符号、声音、图形和图像等方式表示和传递的图像等方式表示和传递的数据、知识和消息数据、知识和消息。在计算机中,都是用在计算机中,都是用二进制二进制来处理和存储信来处理和存储信息的。息的。所有的所有的数值数值都要用二进制数表示都要用二进制数表示;所有的所有的字符字符也要用二进制数表示也要用二进制数表示;本讲稿第三页,共五十五页2022/9/213计算机中信息的表示计算机中信息的表示输入设备输入设备内存内存输出设备输出设备十十/二进制转换二进制转换数值数值ASCIIASCII
3、码码西文西文输入码输入码/机内码机内码汉字汉字模模/数转换数转换声像声像二二/十进制转换十进制转换数值数值西文字形码西文字形码西文西文汉字字形码汉字字形码汉字汉字数数/模转换模转换声像声像在计算机内部,声在计算机内部,声、文、图统一用、文、图统一用0 0、1 1表示表示 本讲稿第四页,共五十五页2022/9/214第三章第三章 计算机中数据表示与存储计算机中数据表示与存储3.1 3.1 位置计数制位置计数制3.2 3.2 负数在计算机中的编码负数在计算机中的编码3.3 3.3 实数在计算机中的表示实数在计算机中的表示3.4 3.4 十进制数的编码十进制数的编码3.5 3.5 字符的编码字符的编
4、码3.6 3.6 模拟信号编码的一般过程模拟信号编码的一般过程3.7 3.7 数据压缩数据压缩本讲稿第五页,共五十五页2022/9/215第三章第三章 计算机中数据表示与存储计算机中数据表示与存储3.1 3.1 位置计数制位置计数制3.2 3.2 负数在计算机中的编码负数在计算机中的编码3.3 3.3 实数在计算机中的表示实数在计算机中的表示3.4 3.4 十进制数的编码十进制数的编码3.5 3.5 字符的编码字符的编码3.6 3.6 模拟信号编码的一般过程模拟信号编码的一般过程3.7 3.7 数据压缩数据压缩本讲稿第六页,共五十五页2022/9/2163.1.1 位置计数制的概念位置计数制的
5、概念数制:数制:是指用一组固定数字和一套统一的规是指用一组固定数字和一套统一的规则来表示数目的方法。则来表示数目的方法。位置计数制:位置计数制:同样的数字出现在数的不同位同样的数字出现在数的不同位置,所代表的值是不同的。置,所代表的值是不同的。位置计数制位置计数制也称为也称为进位计数制进位计数制。每一位计满。每一位计满若干个数后就会进位。若干个数后就会进位。常用的进位计数制的数有:常用的进位计数制的数有:十进制数、二进十进制数、二进制数、八进制数和十六进制数制数、八进制数和十六进制数。本讲稿第七页,共五十五页2022/9/2173.1.1 位置计数制的概念位置计数制的概念数码数码:指表示每一位
6、数字可能使用的符号:指表示每一位数字可能使用的符号(di:第第i i位位的数字的数字)。数码在数字中所占的位置叫数位。数码在数字中所占的位置叫数位i。基数基数:反映这个数制中使用的数字的数目,对于十进制,:反映这个数制中使用的数字的数目,对于十进制,b等于等于1010,对于二进制,对于二进制,b就是就是2 2;。位权位权 :任何一个数都是由一串数码表示的,每一位:任何一个数都是由一串数码表示的,每一位所表示的值除其本身的数值外,还与它所处的位置有所表示的值除其本身的数值外,还与它所处的位置有关,由位置决定的值就叫权。对于十进制,第关,由位置决定的值就叫权。对于十进制,第i位的位的权值就是权值就
7、是10i。本讲稿第八页,共五十五页2022/9/218数码数码权权基数基数54145.14510410310010110210-310-210-1万位千位个位十位百位千分位百分位十分位读作读作:五万四千一百四十五五万四千一百四十五位码位码位权位权例如:十进制数例如:十进制数54154.145本讲稿第九页,共五十五页2022/9/2193.1.2 常用数制常用数制 数制数码基数位权运算规则尾符十进制(Decimal)091010n逢十进一D或10二进制(Binary)0122n逢二进一B或2八进制(Octal)0788n逢八进一O或8十六进制(Hex)09、AF1616n逢十六进一H或16本讲稿
8、第十页,共五十五页2022/9/2110二进制数二进制数一个二进制数的特点:一个二进制数的特点:它只有它只有二个数字符号二个数字符号,即:,即:0、1。它是它是逢逢“二二”进位进位的。的。1 0 1 .1 1第第n n位对应的权值为位对应的权值为2 2n n,计数制的基数为,计数制的基数为2 2;实际表示的数值十进制大小为:实际表示的数值十进制大小为:101.11=101.11=1 12 22 2+0 02 21 1+1 12 20 0+1 12 2-1-1+1 12 2-2-2第第0位位第第1位位第第2位位第第-1位位第第-2位位本讲稿第十一页,共五十五页2022/9/2111莱布尼茨莱布尼
9、茨(1646-17161646-1716),德国伟大的数学家、),德国伟大的数学家、物理学家、唯心主义哲学家。年,系物理学家、唯心主义哲学家。年,系统提出二进制的运算法则统提出二进制的运算法则 。1 1与与0 0,一切数字的神奇渊源。这是造物的秘密,一切数字的神奇渊源。这是造物的秘密美妙的典范,因为,一切无非都來自上帝。美妙的典范,因为,一切无非都來自上帝。二进制的发明者莱布尼茨二进制的发明者莱布尼茨 德国图灵根著名德郭塔王宫图书馆保存着一份莱德国图灵根著名德郭塔王宫图书馆保存着一份莱布尼茨珍贵的手稿,其标题:布尼茨珍贵的手稿,其标题:本讲稿第十二页,共五十五页2022/9/2112 计算机为
10、何采用二进制计算机为何采用二进制?可行性可行性只有只有0 0,1 1两个数码,采用电子器件很容易物理上实现。两个数码,采用电子器件很容易物理上实现。可靠性可靠性只有两种状态,在传输和处理时不容易出错,工作可靠,抗干扰只有两种状态,在传输和处理时不容易出错,工作可靠,抗干扰能力强。能力强。简易性简易性二进制的运算法规简单,使得计算机的运算器结构简化,控制简二进制的运算法规简单,使得计算机的运算器结构简化,控制简单。单。逻辑性逻辑性0 0、1 1两种状态代表逻辑运算中的两种状态代表逻辑运算中的“假假”和和“真真”,便于用逻,便于用逻辑代数作为工具研究逻辑线路。辑代数作为工具研究逻辑线路。本讲稿第十
11、三页,共五十五页2022/9/2113二进制数、八进制数和十六进制数之间的二进制数、八进制数和十六进制数之间的对应关系对应关系 二进制八进制十进制 十六进制二进制八进制十进制 十六进制000000100010880011111001119901022210101210A01133310111311B10044411001412C10155511011513D11066611101614E11177711111715F本讲稿第十四页,共五十五页2022/9/2114进位计数制进位计数制不同进制的习惯书写形式:不同进制的习惯书写形式:二进制二进制:Binary Bin:Binary Bin八进制八
12、进制:Octal Oct O:Octal Oct O十进制十进制:Decimal Dec D:Decimal Dec D十六进制十六进制:Hex Hex H:Hex Hex H例如:例如:(101011)(101011)2 2 (101011)(101011)B B (1234673)(1234673)8 8(1234673)(1234673)O O O O21432143(1973)(1973)10 10 (1973)(1973)D D 12341234(A46F)(A46F)16 16 (A46F)(A46F)H H A46FHA46FH 0 xA46F0 xA46F本讲稿第十五页,共五十
13、五页2022/9/21153.1.3 数制的转换数制的转换不同数制的转换不同数制的转换BINOctDecHexu三大类转换方法:三大类转换方法:1.1.非十进制转换为十进制的方法非十进制转换为十进制的方法2.2.十进制转换为其他进制的方法十进制转换为其他进制的方法3.3.二数制、八进制、二数制、八进制、1616进制之间的转换方法进制之间的转换方法本讲稿第十六页,共五十五页2022/9/21163.1.3 数制的转换数制的转换1 1非十进制转换为十进制非十进制转换为十进制按权展开求和,即各数位与相应位权值相乘以后再按权展开求和,即各数位与相应位权值相乘以后再相加即为对应的十进制数。相加即为对应的
14、十进制数。十进制数:由十进制数:由09数码组成,位权为数码组成,位权为10i二进制数:由二进制数:由0、1组成,位权为组成,位权为2i八进制数:由八进制数:由07组成,位权为组成,位权为8i十六进制数:由十六进制数:由0F组成,位权为组成,位权为16i本讲稿第十七页,共五十五页2022/9/2117非十进制转换为十进制非十进制转换为十进制设设J J进制的数,进制的数,n n位整数,位整数,m m位小数:位小数:(x xn-1n-1x xn-2n-2x x1 1x x0 0.x.x-1-1x x-2-2x x-m-m)J J=x xn-1n-1J Jn-1n-1+x xn-2n-2J Jn-2n
15、-2+x x1 1J J1 1+x x0 0J J0 0 +x x-1-1J J-1-1+x x-2-2J J-2-2+x x-m-mJ J-m-m本讲稿第十八页,共五十五页2022/9/2118 二进制数二进制数10110.101=124+023+122+121+020+121+022+123 =16 +0+4+2+0+0.5+0+0.125=22.625十进制数十进制数1232.25=1 103+2102+3101+2100+2101+5102转换示例转换示例本讲稿第十九页,共五十五页2022/9/2119 十六进制数十六进制数 1AF.C =1 162+A 161+F 160+C 161
16、 =1256+1016+15+120.0625 =256+160+15+0.75=431.75八进制数八进制数127.21 =1 82+281+780+281+182 =64+16+7+0.25+0.15625=87.265625转换示例转换示例本讲稿第二十页,共五十五页2022/9/2120十进制转换为非十进制十进制转换为非十进制整数部分:整数部分:除基取余,逆序读数除基取余,逆序读数。除除J J取余,即整数部分不断除以取余,即整数部分不断除以J J取余数,直到商为取余数,直到商为0 0为止,为止,最先得到的余数为最低位,最后得到得余数为最高位。最先得到的余数为最低位,最后得到得余数为最高位
17、。小数部分:小数部分:乘基取整,顺序读数乘基取整,顺序读数。乘乘J J取整,即小数部分不断乘以取整,即小数部分不断乘以J J取整数,直到积为取整数,直到积为0 0或达到有或达到有效精度为止,最先得到的整数为最高位(最靠近小数点),最效精度为止,最先得到的整数为最高位(最靠近小数点),最后得到的整数为最低位。后得到的整数为最低位。本讲稿第二十一页,共五十五页2022/9/2121整数部分整数部分除除2 2取余取余小数小数部分部分乘乘2 2取取整整1002502252122623210201011.040 .3800.3452.690 22.760 2 .520 2 继续继续0100110十化二十
18、化二十化二十化二本讲稿第二十二页,共五十五页2022/9/2122【例】【例】100(D)=1008128180 4 41144(O)除八取余除八取余倒序排列倒序排列十化八十化八十化八十化八本讲稿第二十三页,共五十五页2022/9/21231001660461664(H)除除16取余取余倒序排列倒序排列【例】【例】100(D)=十化十六十化十六十化十六十化十六本讲稿第二十四页,共五十五页2022/9/2124 八进制、十六进制与二进制的相互转换八进制、十六进制与二进制的相互转换每一个八进制数码对应三位二进制数。每一个八进制数码对应三位二进制数。每一个十六进制数对应四位二进制数。每一个十六进制数
19、对应四位二进制数。例:例:(16(16 2)2)2C1D(H)2C1D(H)1010 11001100 00010001 11011101(B)(B)2 C 1 D 2 C 1 D例:例:(8(8 2 2)17123(O)17123(O)1 1 111111 001001 010010 011011(B)(B)1 7 1 2 3 1 7 1 2 3本讲稿第二十五页,共五十五页2022/9/2125二进制转换为八进制、十六进制二进制转换为八进制、十六进制 整数部分:从整数部分:从右向左右向左进行分组。进行分组。小数部分:从小数部分:从左向右左向右进行分组,进行分组,转化成八进制三位一组转化成八进
20、制三位一组,不足补零不足补零。转化成十六进制四位一组,转化成十六进制四位一组,不足补零不足补零。本讲稿第二十六页,共五十五页2022/9/2126转化示例转化示例 11 0110 1110.1101 0100 B)=36E.D4(H)3 6 E .D 4 =36E.D1(H)1 101 101 110.110 101(B)=1556.65(O)1 5 5 6 6 5 (0011(0011 01100110 11111111 01110111.11001100 01000100)2 2=(36F7.C4)=(36F7.C4)16 16 0101不足不足4 4位位后边补两个零后边补两个零变为变为0
21、100!0100!本讲稿第二十七页,共五十五页2022/9/21273.1.4 基本的二进制运算基本的二进制运算算数运算:算数运算:+-+-+11.011000.11 101.10加减乘除1+1=0(进位)1-1=01*1=11/1=11+0=11-0=11*0=00/1=00+1=10-1=1(借位)0*1=00+0=00-0=00*0=0本讲稿第二十八页,共五十五页2022/9/2128示例示例计算:计算:101.10+11.01101.10+11.01。解:解:1 0 1 .1 0 1 0 1 .1 0 +1 1 .0 1 +1 1 .0 1 1 0 0 0 .1 1 1 0 0 0 .
22、1 1 结果是:结果是:101.10+11.01=1000.11101.10+11.01=1000.11计算:101.10*10.1。1 0 1 .1 0 *1 0 .1 1 0 .1 1 0 0 0 0 .0 0 1 0 1 1 .0 1 1 0 1 .1 1 0 结果是:101.10*10.1=1101.110本讲稿第二十九页,共五十五页2022/9/2129二进制的逻辑运算二进制的逻辑运算逻辑运算符:逻辑运算符:其它的表示:其它的表示:&、(与与)!、(非非)|、+(或或)(异或异或)本讲稿第三十页,共五十五页2022/9/2130“与与”运算运算逻辑逻辑与真与真值值表表ABF=AB00
23、0010100111与电路示意图与电路示意图本讲稿第三十一页,共五十五页2022/9/2131“或或”运算运算逻辑逻辑或真或真值值表表或电路示意图或电路示意图A B F=AB000011101111本讲稿第三十二页,共五十五页2022/9/2132“非非”运算运算逻辑逻辑非真非真值值表表AF=A0110 非电路示意图非电路示意图本讲稿第三十三页,共五十五页2022/9/21333.1.5 数据存储的组织形式数据存储的组织形式位位一个二进制代码称为一位,记为一个二进制代码称为一位,记为bitbit(读为(读为比特比特)。计算机中最直接、最基本的操作就是对二进制位计算机中最直接、最基本的操作就是对
24、二进制位的操作。的操作。字节字节以以8 8位二进制代码位二进制代码为一个单元存放在一起,称为一为一个单元存放在一起,称为一个个字节字节,记为,记为ByteByte。本讲稿第三十四页,共五十五页2022/9/21343.1.5 数据存储的组织形式数据存储的组织形式字、字长字、字长CPUCPU在单位时间内能一次处理的一组二进制数在单位时间内能一次处理的一组二进制数称为字(称为字(WordWord),这组二进制数的位数就是字),这组二进制数的位数就是字长。长。常见的有常见的有8 8位、位、1616位、位、3232位、位、6464位等。位等。本讲稿第三十五页,共五十五页2022/9/21353.1.5
25、 数据存储的组织形式数据存储的组织形式地址地址 为了便于存放、查找和使用,每个存储单元必为了便于存放、查找和使用,每个存储单元必须有须有唯一的编号唯一的编号,称之为,称之为地址地址。通过地址可以找到数据所在的存储单元,读取通过地址可以找到数据所在的存储单元,读取或存入数据。或存入数据。本讲稿第三十六页,共五十五页2022/9/2136第三章第三章 计算机中数据表示与存储计算机中数据表示与存储3.1 3.1 位置计数制位置计数制3.2 3.2 负数在计算机中的编码负数在计算机中的编码3.3 3.3 实数在计算机中的表示实数在计算机中的表示3.4 3.4 十进制数的编码十进制数的编码3.5 3.5
26、 字符的编码字符的编码3.6 3.6 模拟信号编码的一般过程模拟信号编码的一般过程3.7 3.7 数据压缩数据压缩本讲稿第三十七页,共五十五页2022/9/21373.2 数值编码数值编码计算机处理的数值有:计算机处理的数值有:带符号数带符号数:整数:整数定点数定点数:表示纯小数或整数,小数点位置固定:表示纯小数或整数,小数点位置固定浮点数浮点数:表示实数,小数点位置浮动变化:表示实数,小数点位置浮动变化本讲稿第三十八页,共五十五页2022/9/21383.2 数值编码数值编码计算机中常用的数据单位:计算机中常用的数据单位:位位 bit bit:一位二进制数,取值只有:一位二进制数,取值只有0
27、 0或或1 1字节字节 Byte Byte:8 8位二进制数,位二进制数,最基本的容量单位最基本的容量单位 千字节千字节KByte 1KB=1024(2KByte 1KB=1024(21010)Byte)Byte 兆字节兆字节MByte 1MB=1024(2MByte 1MB=1024(21010)KB)KB 吉字节吉字节GByte 1GB=1024(2GByte 1GB=1024(21010)MB)MB字长字长 Word Word:计算机能同时进行处理的二进制位数计算机能同时进行处理的二进制位数。3232位位机机/64/64位机位机本讲稿第三十九页,共五十五页2022/9/2139位数不同的
28、数的表示范围位数不同的数的表示范围 字长无符号整数有符号整数80,28-1-27,27-1160,216-1-215,215-1320,232-1-231,231-1本讲稿第四十页,共五十五页2022/9/2140带符号数的表示方式带符号数的表示方式带符号数的表示方式带符号数的表示方式带符号数也需要对带符号数也需要对符号位符号位进行编码进行编码机器数,机器数,正号编码为正号编码为0 0;负号编码为;负号编码为1 1。机器数的三种编码方式:机器数的三种编码方式:原码原码反码反码补码补码计算机中采用的方式计算机中采用的方式正数的原码、反码、补码都相同正数的原码、反码、补码都相同+76+76:0 0
29、10011001001100本讲稿第四十一页,共五十五页2022/9/2141原码、反码和补码原码、反码和补码(1 1)原码)原码0 X1|X|0=XX=0+7:00000111 +0:00000000 -7:10000111 -0:10000000 X原原 =u 0 0的表示不唯一的表示不唯一u 不便于进行加减不便于进行加减运算运算1000010100000100+10001001-5的原码结果为-9 4的原码本讲稿第四十二页,共五十五页2022/9/2142(2 2)反码)反码 0 X1|X|0=XX=0+7:00000111 +0:00000000 -7:11111 000 -0:111
30、11111 X反反 =u 0 0的表示不唯一的表示不唯一u 不便于进行加减运算不便于进行加减运算原码、反码和补码原码、反码和补码原码、反码和补码原码、反码和补码 正数的反码正数的反码与其原码相同,最高位为与其原码相同,最高位为0 0表示正数,其余位为数值位表示正数,其余位为数值位负数的反码负数的反码是其符号位取是其符号位取1 1,对应的,对应的数值数值部分部分按位取反按位取反求得。求得。本讲稿第四十三页,共五十五页2022/9/2143原码、反码和补码原码、反码和补码(1)(1)1010-(1)-(1)1010=(1)=(1)1010+(-1)+(-1)1010=(0)=(0)1010(0 0
31、000001)(0 0000001)反反+(1 1111110)+(1 1111110)反反=(1 1111111)=(1 1111111)反反=(-0)=(-0)有问题。有问题。(1)(1)1010-(2)-(2)1010=(1)=(1)1010+(-2)+(-2)1010=(-1)=(-1)1010(0 0000001)(0 0000001)反反+(1 1111101)+(1 1111101)反反=(11111110)=(11111110)反反=(-1)=(-1)正确。正确。本讲稿第四十四页,共五十五页2022/9/2144反码的加法规则反码的加法规则1 1)将两个数变为反码,直接相加)将
32、两个数变为反码,直接相加2 2)将进位加到和的最低位,就是和的反码。)将进位加到和的最低位,就是和的反码。-75+85-75+85(75)(75)1010=64+8+2+1=01001011=64+8+2+1=01001011(-75)(-75)1010=(10110100)=(10110100)反反85=64+16+4+1=(01010101)85=64+16+4+1=(01010101)反反-75+85=(10110100)-75+85=(10110100)反反 +(01010101)+(01010101)反反 =1 1(00001001)+1(00001001)+1 =(00001010
33、)=(00001010)反反=(8+2=10)=(8+2=10)1010本讲稿第四十五页,共五十五页2022/9/2145反码反码BinaryDecimalHex0000 00000000000 00011010000 00102020000 00113031111 1111-0FF1111 1110-1FE1111 1101-2FD1111 1100-3FC本讲稿第四十六页,共五十五页2022/9/2146(3 3)补码)补码0 X1|X|+10=XX 负数的绝对值负数的绝对值正数正数+负数,正数负数,正数|y|x|y|x=61,y=-33 x=61,y=-33(x)(x)补补=0 0011
34、11010111101(y)(y)补补=1 1 10110111111111(x)(x)补补+(y)+(y)补补=0001110000011100 二进制按位相加计算,在相加过程中超出二进制按位相加计算,在相加过程中超出8 8位的位自位的位自然丢弃,只保留然丢弃,只保留8 8位。计算结果最高位为位。计算结果最高位为0 0表示正数。表示正数。(x+y)(x+y)补补=(28)=(28)补补=0 00011100=(x)0011100=(x)补补+(y)(y)补补本讲稿第五十三页,共五十五页2022/9/2153补码运算补码运算d)d)正数正数x x和负数和负数y y相加,且相加,且|x|y|x|127131127了,称为了,称为正向溢出正向溢出。如果两个负数之和小于如果两个负数之和小于-128-128,就会产生,就会产生负向溢出负向溢出。防止溢出。防止溢出的办法是用更多的位,如的办法是用更多的位,如1616位、位、3232位来表示数。位来表示数。思考:思考:32bit32bit补码表示的数的范围是多少?补码表示的数的范围是多少?本讲稿第五十五页,共五十五页2022/9/2155