第3章计算机数据表示_第1页
第3章计算机数据表示_第2页
第3章计算机数据表示_第3页
第3章计算机数据表示_第4页
第3章计算机数据表示_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机科学概论第3章 计算机数据表示2计算机数据表示Outline:o 信息与数据o 进制与进制的转换o 计算机内部的数据o 数字的存储与运算o 其他数据类型的存储信息与数据o 数据(Data)是指存储在某种介质上并且能够被识别的物理符号,用来表示通过科学实验、检验、统计等方式获得的和用于研究、设计、决策、验证等目的的数值o 信息(Information),又称资讯,是一个高度抽象的概念,由于其具体表现形式的多样性及复杂性,很难用统一的语言对其进行定义。可以认为信息泛指人类社会传播的全部内容3信息与数据o 数据通常是客观存在的事实,当单独存在时它并没有意义,只有经过解释才能成为有效的信息o 数

2、据是信息的一种表现形式,也是构成信息的原始材料。而信息是反映事件的内容,包括事件判断、事件动作以及对事件运动的描述,即信息包含了人们对事物的认识o 信息由数据分析得到,并通过不同的形式进行表现4信息与数据56计算机数据表示Outline:o 信息与数据o 进制与进制的转换o 计算机内部的数据o 数字的存储与运算o 其他数据类型的存储进制与进制的转换o 基数与进制n 非位置化数字系统中,每个数字符号有固定的数值,在计算数字大小时只要将其中每个数字符号表示的数值相加即可。罗马数字系统是常见的非位置化数字系统n 位置化数字系统中,每个数字表示的值除了与数字符号本身的值有关,还与该符号在数字中所处的位

3、置有关7进制与进制的转换o 基数与进制n 数字135:110031051135n 在位置化数字系统中,每个数字的表示方法:n 它表示的值为:n S表示该数字系统的符号集,b即为该位置化数字系统中的基数(或底),它在数值上等于符号集中的符号总数。bi称为第i位的权值8进制与进制的转换o 基数与进制n 位置化数字系统中的数字每个位置能表示的数值是有限的,当两个数字进行运算时(如加法),有可能出现对应位置数值之和超过最大值,此时需要向高位进位n 进制,也称进位制,即为人们规定的一种进位方法n 对于一个基数为x的位置化数字系统,即可称它为x进制,在运算时即采用“逢x进一”的规则n 如十进制是逢十进一,

4、十六进制是逢十六进一,二进制是逢二进一9进制与进制的转换o 基数与进制n 进制的数值也等于该数字系统中的符号数n 二进制只有0、1两个数字n 八进制有07八个数字n 十进制有09十个数字等n 对于十六进制,除了09十个数字之外,还有六个英文字母AF,这十六个符号构成了十六进制的符号集10进制与进制的转换o 基数与进制n 区分不同进制表示的数字的书写方法:n 将代表进制的英文字母标识写在数字后面p B(Binary)表示二进制,二进制数1101可写成1101Bp D(Decimal)表示十进制,十进制数359可写成359Dn 用括号括住数字并添加代表进制的下标p (1101)2表示二进制数110

5、1p (175)8表示八进制数17511进制与进制的转换o 二进制n 加法运算规则 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10n 乘法运算规则 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 112进制与进制的转换o 二进制n 竖式加法:二进制数110与11的和n 竖式乘法:二进制数110与101的积13进制与进制的转换o 进制之间的转换n 1. 其他进制转换为十进制n b进制数 有:n 三进制数102转换为十进制数14进制与进制的转换o 进制之间的转换n 2. 十进制转换为其他进制n (1)用连除法对整数部分进行转换 用连除法将十进制数13转

6、换为二进制数: 十进制数13转换为二进制数的结果:110115进制与进制的转换o 进制之间的转换n 2. 十进制转换为其他进制n (2)用连乘法对小数部分进行转换 用连乘法将十进制数0.625转换为二进制数: 十进制数0.625转换为二进制数的结果:0.10118进制与进制的转换o 进制之间的转换n 2. 十进制转换为其他进制n 对于一个既有整数部分,又有小数部分的十进制数,只要按上述方法分别对整数和小数部分进行转换,再将两部分转换后的结果合并即可n 将十进制数13.625转换为二进制数: (13)10 (1101)2 (0.625)10 (0.101)2 所以 (13.625)10 (110

7、1.101)2 19进制与进制的转换o 进制之间的转换n 3. 其他进制相互转换n 前面已经介绍了其他进制转换为十进制和十进制转换为其他进制的方法n 对于非十进制的其他进制的两两转换,可先将待转换数字转换为十进制数,再将十进制数转换为目标进制数n 将三进制数102转换为二进制数: (102)3 (11)10 (11)10 (1011)2 所以 (102)3 (1011)2 20进制与进制的转换o 进制之间的转换n 4. 二进制与八进制、十六进制相互转换n 二进制中的3位恰好是八进制中的一位,二进制中的4位恰好是十六进制中的一位n 将八进制数127转换为二进制:八进制的1位对应二进制的3位,只要

8、将八进制数的每位转换为3位二进制数再将其合并即可合并之后去掉左侧多余的0,有(127)8 (1010111)2 2122计算机数据表示Outline:o 信息与数据o 进制与进制的转换o 计算机内部的数据o 数字的存储与运算o 其他数据类型的存储计算机内部的数据o 计算机内部采用的是二进制n 1. 与物理状态相符 电流通过的状态只有两个:通电和断电 磁盘上的一个记录点只有两个状态:磁化和未磁化光盘上的一个信息点其物理状态只有两个:凹和凸与只有0、1这两个数字的二进制是相对应的n 2. 便于进行逻辑判断计算机执行运算的基础是其内部通过微电子电路实现的门和触发器,它执行的是逻辑运算逻辑代数是逻辑运

9、算的理论依据,而二进制的0、1正好与逻辑代数中的“真”和“假”相吻合23计算机内部的数据o 计算机内部采用的是二进制n 3. 便于进行数值运算和编码电路中很容易区分高、低两种电压状态采用二进制使数据的表示更加容易与物理存储介质的状态相符合,能提高介质的信息存储能力n 4. 抗干扰能力强,可靠性高当受到一定程度的干扰时,仍能准确地分辨出是哪种状态而不会产生错误。在一定的计数范围内使用二进制可使元件所需的状态数最少,元件的设计更加简单进而提高了可靠性24计算机内部的数据o 位与布尔运算n 表示0或1的最基本的单位是位(或比特,Bit),它们只有与正在处理的应用相联系时才有具体的意义,如数值、字符、

10、声音或图像n 8个二进制位构成一个字节(Byte),一个字节可简写为1B,它是计算机中数据存储的单位1 KB = 1,024 B1 MB = 1,024 KB = 1,048,576 B 1 GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 B1 TB = 1,024 GB = 1,048,576 MB = 1,073,741,824 KB = 1,099,511,627,776 B25计算机内部的数据o 位与布尔运算n 在计算机中,一串二进制码是作为一个整体来处理和运算的,它称为一个字(Word),表示计算机的自然数据单位n 每个字所包含的位数称为字长

11、(Word Length),字长越大,处理器一次可处理的二进制位数越大,相应的处理数据的速率也就越高n 目前主流的处理器都是32位或64位,对应字长分别为32和64n 操作系统也分32位和64位,这是为了给安装在电脑上的应用程序提供底层的支持26计算机内部的数据o 位与布尔运算n 将0看作“假”值,1看作“真”值,那么可以将这种位与位之间运算理解为逻辑运算或布尔运算27计算机内部的数据o 位与布尔运算n 布尔运算的输入也可以是能判断真假的语句,输出则是由布尔算符连接的复合语句的真值p “明天是周五” AND “小明是学生”p 用字母P和Q代表两个语句,则复合语句的一般形式为:P AND Qn

12、扩展为将两个二进制位串作为输入,并同样产生一个二进制位串输出2829计算机数据表示Outline:o 信息与数据o 进制与进制的转换o 计算机内部的数据o 数字的存储与运算o 其他数据类型的存储数字的存储与运算o 计算机内部采用二进制的数制方式,并且可以对二进制的位模式串进行一系列操作o 主流的操作系统中(如Windows),一个整数用4字节来表示。4个字节包含48=32个二进制位,每一位有0、1两种状态,如果用一个状态表示一个数字,那么计算机可处理的数字个数为232个30数字的存储与运算o 整数的存储n 1. 无符号整数n 当这一字节的8位全为0时,对应十进制的0;当8位全为1时,对应十进制

13、的数值为28 1 = 255n 一个字节能表示的无符号整数为0 255 共256个数字n 无符号整数在计算机中有很广泛的应用,由于它与自然数是一致的,在计算机中常常用来计数任务执行次数或表示不同的内存单元地址31数字的存储与运算o 整数的存储n 2. 原码n 将原本存储数字的第一位用来专门存储符号,将正数的符号用0表示、负数的符号用1表示,用剩下的位置存储数字n 用一个字节表示“+5”的原码为“00000101”,“-5”的原码为“10000101”n 能表示的数字只有255个(-127 0,0 127)32数字的存储与运算o 整数的存储n 3. 反码n 现在的时钟指向6点,我们想将它设置为4

14、点,可有两种操作:将指针逆时针向回转两个小时;或者将指针顺时针向前转十个小时。这两种操作都能将时针正确的设置为4点,但是逆时针拨动指针的过程对应的是减法:6 2 = 4;顺时针拨动指针对应的是加法:(6 + 10) mod 12 = 433数字的存储与运算o 整数的存储n 3. 反码n 用反码表示数字,第一位仍是符号位,其余位为数值部分,符号位为0表示正数,为1表示负数。如果原始数字是正数,则数值部分等于要表示的数字的二进制数值;如果原数是负数,则将它绝对值的二进制数值按位取反,即用0替换1,用1替换0n 用一个字节表示“+5”的反码为“00000101”,“-5”的反码为“11111010”

15、34数字的存储与运算o 整数的存储n 3. 反码n 对于一个8位的数字,用反码表示的数值范围与原码是相同的,即-127 127,但是负数部分的数值对应关系发生变化:“11111111”对应十进制“-0”,而“10000000”对应十进制“-127”35数字的存储与运算o 整数的存储n 4. 补码n 反码存在“+0”和“-0”的问题n 用补码表示数字,如果原始数字是正数,则表示方式与原码、反码相同,即第一位符号位为0,数值部分等于要表示的数字的二进制数值n 如果原始数字是负数,则先将其用反码形式表示,再在末位加136数字的存储与运算o 整数的存储n 4. 补码n 对于正数:105原=105反=1

16、05补=01101001n 对于负数:-105的原码只要将105的原码的符号位改成1即可-105原=11101001-105的反码只要对105的原码按位取反即可-105反=10010110-105的补码只要对反码加1-105补=10010110+1=1001011137数字的存储与运算o 整数的存储n 5. 余码n 余码记数法也是用一个固定长度的二进制位模式表示一个数字,但符号位与补码是恰好相反的38三位余码三位补码数字的存储与运算o 实数的存储n 1. 浮点计数法n 二进制数的浮点记数法类似十进制中的科学记数法n 任意二进制数表示的形式为:a 2n,其中a为二进制数,称为尾数;n为十进制整数

17、,称为指数39数字的存储与运算o 实数的存储n 2. 浮点数的存储n 以8位的位模式为例p 最左一位仍然为符号位,0代表非负数,1代表负数p 余下的7位分为两部分,靠左的三位为指数域,用来存储指数,靠右的四位为尾数域用来存储尾数,指数域用余码表示p 尾数域存储时,忽略尾数的整数部分和小数点,从小数点的右一位开始依次自左向右存储40数字的存储与运算o 实数的存储n 3. 规范化n 这四个二进制浮点数的位模式不同,但是它们却都表示十进制数字-0.25n 为了消除这种冗余,我们规定二进制浮点数的尾数域的最左一位必须是“1”,这叫做规范化41数字的存储与运算o 实数的存储n 4. 截断误差n 截断误差

18、指的是由于尾数域位数不够大,在存储浮点数时丢失部分数值,导致要表示的数与实际存储的数出现偏差的情况n (2.625)10 = (0.10101) 2 22 ,由于8位浮点数的尾数域只有四位,而要存储的位数为10101有五位,因此最右侧的1被截断,于是我们得到最终的转换结果“01101010”,它实际表示的是 (0.1010) 2 22 = (2.5)10 ,可见产生了误差4243计算机数据表示Outline:o 信息与数据o 进制与进制的转换o 计算机内部的数据o 数字的存储与运算o 其他数据类型的存储其他数据类型的存储o 文本n 1. ASCII码n 美国国家标准化学会(American N

19、ational Standards Institute,ANSI)发布了一个统一标准的编码方式,称为美国信息交换标准码(American Standard Code for Information Interchange),更通用的名字是它的简称ASCII码44其他数据类型的存储o 文本n 1. ASCII码n 标准的ASCII码中,用7位长度的位模式串表示英文文档中的字符,包括大小写英文字母、标点符号、数字以及一些格式控制字符如换行、回车、制表符等。随着编码制的发展,ASCII码经常拓展为8位模式,方法就是在原来7位模式串的最高端添加一个0,这不仅使得一个字符的编码正好与1字节的存储单元相匹

20、配,也能表示更多的原来ASCII码所不包括的符号45其他数据类型的存储o 文本n 1. ASCII码n 对英文文本“I am 10 years old.”的编码46其他数据类型的存储o 文本n 2. Unicode码n 汉字的数量远远超过26个英文字母,这时ASCII码便无能为力了n 另一种广泛使用的文本编码方式为Unicode,中文称作统一码或万国码,它是由多家软硬件主导厂商共同研制开发的,它采用比ASCII码多一倍的16位模式串用来唯一表示一个字符,这使Unicode有65,536个不同的位模式n 足以表示用中文、日文、希伯来文等语言书写的文档资料47其他数据类型的存储o 图像n 1. 位图n 在位图中,图像是由一个个点组合而成的,一个点称为一个像素(Picture

温馨提示

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

评论

0/150

提交评论