1、第一章第一章 数据存储数据存储1.1 位和位存储位和位存储 位(位(bit,binary digits)信息是以信息是以0和和1的模式编码的,这些数字称为的模式编码的,这些数字称为位位 布尔运算布尔运算 处理真处理真/假值的运算假值的运算 假设假设0代表代表False(假),(假),1代表代表True(真),(真),对位的运算看做是对真对位的运算看做是对真/假值的操作假值的操作 3个基本的布尔运算个基本的布尔运算 AND(与)、(与)、OR(或)以及(或)以及XOR(异或)(异或)1.1 位和位存储位和位存储 布尔运算布尔运算 P:代表一个语句:代表一个语句 Q:代表另一个语句:代表另一个语句
2、 P AND Q、P OR Q、P XOR Q P:李华是一名足球运动员:李华是一名足球运动员 Q:李华是一名乒乓球运动员:李华是一名乒乓球运动员 P AND Q:李华是一名足球运动员并且是一名:李华是一名足球运动员并且是一名乒乓球运动员乒乓球运动员1.1 位和位存储位和位存储 布尔运算布尔运算 P:代表一个语句:代表一个语句 Q:代表另一个语句:代表另一个语句 P AND Q、P OR Q、P XOR Q P:李华是一名足球运动员:李华是一名足球运动员 Q:李华是一名乒乓球运动员:李华是一名乒乓球运动员 P OR Q:李华是一名足球运动员或者是一名:李华是一名足球运动员或者是一名乒乓球运动员
3、乒乓球运动员1.1 位和位存储位和位存储 布尔运算布尔运算 P:代表一个语句:代表一个语句 Q:代表另一个语句:代表另一个语句 P AND Q、P OR Q、P XOR Q P:上海到北京的:上海到北京的14次列车下午次列车下午6点开点开 Q:上海到北京的:上海到北京的14次列车下午次列车下午4点开点开 P XOR Q:上海到北京的:上海到北京的14次列车下午次列车下午6点开点开或者上海到北京的或者上海到北京的14次列车下午次列车下午4点开点开1.1 位和位存储位和位存储 布尔运算布尔运算1.1 位和位存储位和位存储 布尔运算布尔运算 NOT运算运算 只有一个输入只有一个输入 输出是输入的相反
4、值输出是输入的相反值 A:李华是一名足球运动员李华是一名足球运动员 NOT A:李华不是一名足球运动员:李华不是一名足球运动员1.1 位和位存储位和位存储 门和触发器门和触发器 门门 一种一种设备设备,给出一种,给出一种布尔运算输入值布尔运算输入值时,可以得到时,可以得到该布尔运算的该布尔运算的输出值输出值;可以通过很多技术制造,如齿轮、继电器和光学设可以通过很多技术制造,如齿轮、继电器和光学设备;备;现在多是通过现在多是通过微电子电路微电子电路实现,数字实现,数字0 和和1用用电压电电压电平平表示。表示。1.1 位和位存储位和位存储 门和触发器门和触发器 门门 为构造计算机提为构造计算机提供
5、基础构件供基础构件1.1 位和位存储位和位存储 门和触发器门和触发器 触发器触发器 一个可以一个可以产生产生0或或1输输出值的电路;出值的电路;值保持不变,除非其他值保持不变,除非其他电路过来的临时脉冲使电路过来的临时脉冲使其改变成另一个值。其改变成另一个值。若两个输入值一直是若两个输入值一直是0,那么输出值(,那么输出值(0或或1)不会改变)不会改变1.1 位和位存储位和位存储 门和触发器门和触发器若上端输入值变为若上端输入值变为1,那么输出值变为,那么输出值变为11.1 位和位存储位和位存储 门和触发器门和触发器若上端输入值变为若上端输入值变为1,那么输出值变为,那么输出值变为11.1 位
6、和位存储位和位存储 门和触发器门和触发器若上端输入值变为若上端输入值变为1,那么输出值变为,那么输出值变为11.1 位和位存储位和位存储 门和触发器门和触发器 若下端输入值变为若下端输入值变为1,那么输出值变为,那么输出值变为0 触发器是计算机中触发器是计算机中存储二进制位存储二进制位的一种方法的一种方法1.1 位和位存储位和位存储 十六进制计数法十六进制计数法 数制数制 按按进位的原则进位的原则进行计数称为进位计数制,简称数进行计数称为进位计数制,简称数制;制;生活中的数制生活中的数制 十进制十进制 十二进制:十二进制:1年年12个月,英语一打个月,英语一打 十六进制:半斤八两,算盘十六进制
7、:半斤八两,算盘 六十进制:六十进制:1小时小时60分分 1.1 位和位存储位和位存储 十六进制计数法十六进制计数法 数制数制 二进制二进制 使用数字使用数字0和和1等符号来表示数值且采用等符号来表示数值且采用“逢逢二二进一进一”的的进位计数制进位计数制 十进制十进制 是使用数字是使用数字1、2、9、0等符号来表示数值且采用等符号来表示数值且采用“逢逢十十进一进一”的进位计数制的进位计数制 八进制八进制 使用数字使用数字0、1、2、3、4、5、6、7来表示数值且采用来表示数值且采用“逢逢八八进一进一”的进位计数制的进位计数制1.1 位和位存储位和位存储 十六进制计数法十六进制计数法 数制数制
8、十六进制十六进制 采用十六个不同的记数符号表示数值,即数码:采用十六个不同的记数符号表示数值,即数码:09及及A、B、C、D、E、F。其中其中A表示十进制数表示十进制数10,B表示表示11,C表示表示12,D表示表示13,E表示表示14,F表示表示15。“逢逢十六十六进一进一”。1.1 位和位存储位和位存储 十六进制计数法十六进制计数法 用一个符号表示位模用一个符号表示位模式的式的4位位 10110101:B5 1010010011001000:A4C81.2 主存储器主存储器 主存储器主存储器 为了存储数据,计算机包含大量的为了存储数据,计算机包含大量的电路电路(如(如触发器触发器););每
9、每一个电路一个电路存储单独的存储单独的一个位一个位,这种,这种位存储位存储器器被称为计算机的被称为计算机的主存储器主存储器。1.2 主存储器主存储器 存储单元存储单元 主存储器以主存储器以存储单元存储单元(cell)的可管理单位组)的可管理单位组织起来的;织起来的;一个典型的存储单元容量是一个典型的存储单元容量是8位位;一个一个8位的串称为一个位的串称为一个字节字节(byte)。)。1.2 主存储器主存储器 存储单元存储单元 通常假设存储单元的位是排成一行的,通常假设存储单元的位是排成一行的,左端左端称为称为高位端高位端,右端右端称为称为低位端低位端;高位端的高位端的最左一位最左一位称作称作高
10、位高位或或最高有效位最高有效位;低位端的低位端的最右一位最右一位称为称为低位低位或或最低有效位最低有效位。1.2 主存储器主存储器 地址地址 为了区分计算机主存储器中的各为了区分计算机主存储器中的各存储单元存储单元,每个存储单元被赋予一个每个存储单元被赋予一个唯一的唯一的“名字名字”,称为称为地址地址;地址都是用地址都是用数字数字表示的;表示的;把所有的存储单元看做是把所有的存储单元看做是排成一行排成一行的,按照的,按照这个顺序这个顺序从从0开始编号开始编号 下一个单元、前一个单元下一个单元、前一个单元1.2 主存储器主存储器 地址地址 将将存储单存储单元元和存储和存储单元的单元的位位进行排序
11、进行排序:所有二:所有二进制位本进制位本质上被排质上被排成成一长行一长行1.2 主存储器主存储器 实际存放位的电路还组合别的电路实际存放位的电路还组合别的电路 使得其他电路可以在存储单元中使得其他电路可以在存储单元中存入存入和和取出取出数据;数据;其他电路通过其他电路通过电信号电信号请求请求从存储器从存储器中中得到得到指指定地址的内容(读操作);定地址的内容(读操作);或请求把某个位模式或请求把某个位模式存放存放到到指定地址指定地址的的存储存储单元单元里(写操作)。里(写操作)。1.2 主存储器主存储器 RAM(Random Access Memory)随机存取存储器随机存取存储器 因为主存储
12、器由因为主存储器由独立的独立的、可编址的可编址的存储单元组存储单元组成,可根据需要独立的访问这些存储单元;成,可根据需要独立的访问这些存储单元;用用任何顺序任何顺序访问存储单元;访问存储单元;RAM可用其他更小型化和更快响应时间的技术可用其他更小型化和更快响应时间的技术制造。制造。1.2 主存储器主存储器 DRAM 许多技术将位存储为可许多技术将位存储为可快速消散的电荷快速消散的电荷;需要需要附加电路附加电路(称为刷新电路)在(称为刷新电路)在1s内反复补内反复补充电荷很多次;充电荷很多次;因为这种不稳定性,称为因为这种不稳定性,称为动态存储器动态存储器(dynamic memory),即),
13、即DRAM;SDRAM 同步动态同步动态RAM,附加的技术可缩短从存储单元,附加的技术可缩短从存储单元取出信息所需要的时间。取出信息所需要的时间。1.2 主存储器主存储器 容量的度量容量的度量 bit:位:位 byte:字节(:字节(8位)位)KB(kilobyte):千字节():千字节(210字节,字节,1024字字节)节)MB:兆字节(:兆字节(220字节,字节,1024KB)GB:吉字节:吉字节 TB、PB、EB、ZB、YB1.3 海量存储器海量存储器 海量存储器海量存储器 磁盘、磁盘、CD盘、盘、DVD盘、磁带、闪存驱动器盘、磁带、闪存驱动器 稳定、容量大、价格低稳定、容量大、价格低
14、一般需要一般需要机械运动机械运动,主存储器的工作由,主存储器的工作由电子器电子器件件实现的,海量存储器的数据存取需要时间长实现的,海量存储器的数据存取需要时间长1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘 里面是里面是盘片盘片,表面有,表面有磁介质磁介质的的涂层涂层存储数据;存储数据;读读/写磁头写磁头安装在盘片的上面和安装在盘片的上面和/或下面;或下面;盘片盘片旋转时,磁头相对于旋转时,磁头相对于磁道磁道的圆圈转动;的圆圈转动;移动磁头时,对各个移动磁头时,对各个同心的磁道同心的磁道进行存取;进行存取;磁盘存取系统包含若干个安装在同一根轴上的盘片磁盘存取系统包含若干个安装在同一根
15、轴上的盘片,盘片之间有距离使得磁头可以在盘片之间滑动,盘片之间有距离使得磁头可以在盘片之间滑动,所有磁头是所有磁头是一起移动的一起移动的;磁头移动访问一组磁道,称为磁头移动访问一组磁道,称为柱面柱面;1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘 扇区:一个磁道可以包含的数据通常比每一个要处扇区:一个磁道可以包含的数据通常比每一个要处理的多,所以每个磁道划分成若干个理的多,所以每个磁道划分成若干个小弧区小弧区,称为,称为扇区;扇区;所有扇区包含所有扇区包含相同数目的二进制位
16、相同数目的二进制位(典型(典型512字节字节到若干到若干KB););简单的磁盘存储系统,所有磁道分为相同数目的扇简单的磁盘存储系统,所有磁道分为相同数目的扇区;事实上大容量磁盘,边缘磁道包含的扇区远多区;事实上大容量磁盘,边缘磁道包含的扇区远多于靠近中心的磁道。于靠近中心的磁道。1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘 区位记录技术:区位记录技术:相邻的磁道相邻的磁道被统一命名为被统一命名为区区,一个,一个典型盘片大约包含典型盘片大约包含10个区;个区;一个一个区区的磁道有的磁道有相同数目的扇区相同数目的扇区;靠外的区中每个磁道包含的扇区比靠内的区多;靠外的区中每个磁道包含的扇
17、区比靠内的区多;磁道和扇区的位置在磁道和扇区的位置在磁盘格式化磁盘格式化的过程中磁化形成的过程中磁化形成1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘 寻道时间寻道时间:读:读/写磁头从一个磁道移到另一个磁道所写磁头从一个磁道移到另一个磁道所需要的时间,即将磁头组合定位到合适的需要的时间,即将磁头组合定位到合适的柱面柱面的时的时间;间;旋转延迟旋转延迟或或等待时间等待时间:盘片旋转一周所需要时间的:盘片旋转一周所需要时间的一半,即一半,即读读/写磁头写磁头到达所要求磁道后,等待到达所要求磁道后,等待盘片旋盘片旋转转使读使读/写磁头位于所要存取的写磁头位于所要存取的数据(扇区)数据(扇
18、区)上所需上所需要的平均时间;要的平均时间;1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘 存取时间存取时间:寻道时间和等待时间之和;:寻道时间和等待时间之和;传输速率传输速率:在磁盘上读出或写入数据的速率,:在磁盘上读出或写入数据的速率,盘片盘片旋转一次旋转一次边缘道边缘道通过读通过读/写磁头传递的数据要多于写磁头传递的数据要多于内内区道区道,因此速率根据盘片部分的不同而变化。,因此速率根据盘片部分的不同而变化。1.3 海量存储器海量存储器 磁学系统磁学系统 磁盘磁盘 为了高速旋转,读为了高速旋转,读/写磁头不接触盘片,悬浮在盘片写磁头不接触盘片,悬浮在盘片表面;表面;因为磁盘操作
19、需要物理运动,所以时间以毫秒(千因为磁盘操作需要物理运动,所以时间以毫秒(千分之一秒)度量,而电子电路延迟时间以纳秒(十分之一秒)度量,而电子电路延迟时间以纳秒(十亿分之一秒)甚至更小计算的。亿分之一秒)甚至更小计算的。1.3 海量存储器海量存储器 磁学系统磁学系统 磁带磁带 脱机档案数据存储、备份等;脱机档案数据存储、备份等;容量大、可靠性高、性价比好等优点;容量大、可靠性高、性价比好等优点;但但顺序存取顺序存取,存取不便且速度不高。,存取不便且速度不高。1.3 海量存储器海量存储器 光学系统光学系统 CD(Compact Disk,光盘),光盘)直径直径12cm(大约(大约5英寸),由涂着
20、保护层的英寸),由涂着保护层的反射材反射材料料组成;组成;1.3 海量存储器海量存储器 光学系统光学系统 CD(Compact Disk,光盘),光盘)CD上的信息轨道呈上的信息轨道呈螺旋形螺旋形,被划分为称为扇区的单,被划分为称为扇区的单元,数据存储容量是元,数据存储容量是2KB;信息按照信息按照线性密度线性密度存储在螺旋形轨道上,即外边缘存储在螺旋形轨道上,即外边缘的环道存放的信息比内部的多。的环道存放的信息比内部的多。1.3 海量存储器海量存储器 光学系统光学系统1.3 海量存储器海量存储器 光学系统光学系统 CD(Compact Disk,光盘),光盘)600-700MB DVD GB
21、 蓝光蓝光 使用蓝色激光使用蓝色激光 容量更大,是容量更大,是DVD的的5倍倍1.3 海量存储器海量存储器 光学系统光学系统1.3 海量存储器海量存储器 闪存驱动器闪存驱动器 闪存技术闪存技术 在闪存系统中,用在闪存系统中,用电子信号电子信号将将二进制位二进制位直接送到存直接送到存储介质中;储介质中;电子信号使得该介质中二氧化硅的微小电子信号使得该介质中二氧化硅的微小晶格截获电晶格截获电子子,从而转换微电子电路的性质,并能保持截获的,从而转换微电子电路的性质,并能保持截获的电子多年。电子多年。批量擦除,反复擦除会逐渐损坏二氧化硅的晶格,批量擦除,反复擦除会逐渐损坏二氧化硅的晶格,所以不适合主存
22、储器应用(改写多次),其他场合所以不适合主存储器应用(改写多次),其他场合 数码相机、移动电话数码相机、移动电话1.3 海量存储器海量存储器 闪存驱动器闪存驱动器 闪存技术闪存技术 闪存驱动器闪存驱动器 U盘,盘,USB闪存驱动器闪存驱动器 SD存储卡(存储卡(2GB)SDHC存储卡(存储卡(32GB)SDXC存储卡(存储卡(TB)数码相机、智能手机、音乐播放器、汽车导航数码相机、智能手机、音乐播放器、汽车导航1.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 文本的每个不同符号被赋予唯一的文本的每个不同符号被赋予唯一的位模式位模式 ASCII码码 美国国家标准化学会美国国家标准化
23、学会ANSI,后,后ISO国际标准国际标准 采用采用7位二进制位编码,共可表示位二进制位编码,共可表示27128个字符个字符 英文字母、标点符号、英文字母、标点符号、0-9、空格符、回车符、换行符、空格符、回车符、换行符1.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 ASCII码码 标准标准ASCII码码 计算机中常以计算机中常以8位二进制,即一个字节为单位表示信息,因此将位二进制,即一个字节为单位表示信息,因此将ASCII码的最高位取码的最高位取0。扩展扩展ASCII码码 当当ASCII码的最高位取码的最高位取1时,又可表示时,又可表示128个字符,这种编码称为个字符,这种编
24、码称为扩展扩展ASCII码码。ISO开发了大量的开发了大量的ASCII扩展。扩展。1.4 用位模式表示信息用位模式表示信息1.4 用位模式表示信息用位模式表示信息1.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 汉字编码汉字编码 国家标准国家标准GB231280提供了提供了“中华人民共和国国中华人民共和国国家标准信息交换用汉字编码家标准信息交换用汉字编码”,简称,简称国标码国标码 该字符集把常用汉字分成二个字库该字符集把常用汉字分成二个字库 一级字库一级字库3755个汉字个汉字,通常占使用汉字的,通常占使用汉字的90左右,按左右,按拼音字母顺序排列。拼音字母顺序排列。二级字库二级
25、字库不太常用,有不太常用,有3008个汉字个汉字,按部首顺序排列。,按部首顺序排列。另外还收录了一些图形符号。共计另外还收录了一些图形符号。共计7445个。个。1.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 汉字编码汉字编码 国标码用国标码用2个字节来表示一个汉字。个字节来表示一个汉字。2个字节的最高个字节的最高位均不用,置位均不用,置0。机内码机内码:计算机内部使用,国标码的最高位置:计算机内部使用,国标码的最高位置1。1.4 用位模式表示信息用位模式表示信息1.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 GBK 镕镕 GB18030 2000年年 BIG5
26、繁体字繁体字1.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 Unicode 扩充的扩充的ASCII不足以容纳亚洲语言和东欧语言;不足以容纳亚洲语言和东欧语言;一个特定文档只能在一个选定的标准中使用,无法一个特定文档只能在一个选定的标准中使用,无法支持包含不同语种的语言文本的文档;支持包含不同语种的语言文本的文档;针对各国文字、符号进行统一性编码。针对各国文字、符号进行统一性编码。UCS-2、UCS-4 UTF-8、UTF-16、UTF-321.4 用位模式表示信息用位模式表示信息 文本的表示文本的表示 文本文件文本文件 文件文件:海量存储系统中的信息一般被分组为较大的:海量存储
27、系统中的信息一般被分组为较大的单元,称为文件;单元,称为文件;由由一长串一长串根据根据ASCII或或Unicode编码的编码的符号符号组成的组成的文件称为文件称为文本文件文本文件;文本编辑器文本编辑器 字处理程序字处理程序1.4 用位模式表示信息用位模式表示信息 数值的表示数值的表示 二进制记数法二进制记数法 0:0 1:1 2:10 3:11 65535:11111111 11111111ASCII码:码:16位(最大数:位(最大数:99)1.4 用位模式表示信息用位模式表示信息 图像的表示图像的表示 通常将图像表示为通常将图像表示为一组点一组点,每一个,每一个点点称为一个称为一个像素像素;
28、每个每个像素像素的显示被的显示被编码编码,整个图像就表示成这,整个图像就表示成这些已编码像素的集合,这个集合称为些已编码像素的集合,这个集合称为位图位图;1.4 用位模式表示信息用位模式表示信息 图像的表示图像的表示 黑白图像黑白图像 每个像素每个像素由由一个位一个位表示,位的值取决于相对应像素表示,位的值取决于相对应像素是黑还是白;是黑还是白;每个像素由每个像素由一组位一组位(通常(通常8个)表示,使得灰色阴个)表示,使得灰色阴影可以表示出来;影可以表示出来;1.4 用位模式表示信息用位模式表示信息 图像的表示图像的表示 彩色图像彩色图像 RGB编码编码 红绿蓝三原色,一个字节表示一个颜色成
29、分的强度,一个红绿蓝三原色,一个字节表示一个颜色成分的强度,一个像素需要像素需要3个字节个字节的存储空间;的存储空间;亮度成分亮度成分+两个颜色成分两个颜色成分 亮度亮度:红绿蓝部分的总和,事实上是像素中:红绿蓝部分的总和,事实上是像素中白光的数量白光的数量;色度色度:蓝色度蓝色度和和红色度红色度,取决于像素亮度与蓝或红光数量,取决于像素亮度与蓝或红光数量之间的之间的差差。1.4 用位模式表示信息用位模式表示信息 声音的表示声音的表示 按有按有规律的时间间隔规律的时间间隔对声波的对声波的振幅采样振幅采样,记录记录得到的数值序列;得到的数值序列;如每秒如每秒8000次的采样频率,用于远程语音电话
30、次的采样频率,用于远程语音电话通信中。通信中。1.4 用位模式表示信息用位模式表示信息 声音的表示声音的表示 通信一端的语音被通信一端的语音被编码为数字值编码为数字值,表示每秒,表示每秒8000次的声音振幅,将数值通过通信线路传输次的声音振幅,将数值通过通信线路传输到接收端,再现声音;到接收端,再现声音;CD:每秒:每秒44100次次采样频率,每次采样的数据采样频率,每次采样的数据以以16位位的形式表示出来(立体声需要的形式表示出来(立体声需要32位)。位)。1.5 二进制系统二进制系统 二进制记数法二进制记数法 每一个每一个位置位置的表示都与一个的表示都与一个量值量值相关联相关联1.5 二进
31、制系统二进制系统 二进制记数法二进制记数法 求二进制表示所表示的数值求二进制表示所表示的数值1.5 二进制系统二进制系统任何一个任何一个N进制数进制数A可用可用位权法位权法表示表示A=AnAn-1A1A0.A-1A-2A-m A=An N n+An-1 N n-1+A1 N 1+A0 N 0 +A-1 N-1+A-m N-m -m =Ai N i N i是数字是数字Ai的权的权 i=n1.5 二进制系统二进制系统(1011.01)2 12 3 02 2 12 1 12 0 021 1221.5 二进制系统二进制系统(426.43)8 48 228 168 0481382(5A8F)16 516
32、 3A16 2816 1 F16 01.5 二进制系统二进制系统 二进制记数法二进制记数法 求二进制表示所表示的数值:位权法展开计算求二进制表示所表示的数值:位权法展开计算(1011.01)2 12 3 02 2 12 1 12 0 021 122 11.251.5 二进制系统二进制系统 二进制记数法二进制记数法 如何用二进制记数法计数(十进制整数转换为如何用二进制记数法计数(十进制整数转换为二进制整数)二进制整数)采用采用“除基(除基(2)取余法)取余法”;将十进制整数逐次将十进制整数逐次除除以需转换为的以需转换为的数制的基数数制的基数,直,直到到商商为为0为止;为止;将得到的将得到的余数余
33、数自下而上自下而上排列即可。排列即可。1.5 二进制系统二进制系统 二进制记数法二进制记数法将将55转换成二进制数:转换成二进制数:2 55 1 2 27 1 2 13 1 2 6 0 2 3 1 2 1 1 0 得到的余数从后至先依次为:得到的余数从后至先依次为:1、1、0、1、1、1可得到:可得到:(55)10(110111)21.5 二进制系统二进制系统 二进制记数法二进制记数法 十进制小数转换为二进制小数十进制小数转换为二进制小数 采用采用“乘基取整法乘基取整法”;十进制小数逐次十进制小数逐次乘乘以需转换为的以需转换为的数制的基数数制的基数,直到,直到小数部分小数部分的的当前值等于当前
34、值等于0为止;为止;将得到的将得到的整数整数自上而下自上而下排列。排列。1.5 二进制系统二进制系统 二进制记数法二进制记数法 将将0.625转换为二进制小数:转换为二进制小数:0.625 2 1 .25 2 0 .5 2 1 .0(0.625)10 (0.101)2 1.5 二进制系统二进制系统 二进制加法二进制加法1.5 二进制系统二进制系统 二进制加法二进制加法 10.011+100.11011.001 111010+110110101011.6 整数存储整数存储 二进制补码记数法二进制补码记数法 当今计算机表示整数最普遍的系统;当今计算机表示整数最普遍的系统;采用固定数目的二进制位表示
35、系统的每采用固定数目的二进制位表示系统的每一个数一个数值值,如用,如用32位位的模式表示。的模式表示。下面使用长度为下面使用长度为3和和4的位模式进行说明的位模式进行说明1.6 整数存储整数存储 二进制补码记数法二进制补码记数法 先规定适当长度的先规定适当长度的一组二进制一组二进制0,接着用二进,接着用二进制计数,直到制计数,直到只有一个只有一个0,其他都是其他都是1的模式形的模式形成。这些模式表示数值成。这些模式表示数值0,1,2,3;表示负值的模式是这样获得的:先规定一组适表示负值的模式是这样获得的:先规定一组适当长度的当长度的二进制二进制1,接着按照二进制反向计数,接着按照二进制反向计数
36、,直到,直到只有一个只有一个1,其他都是其他都是0的模式形成。这的模式形成。这些模式表示数值些模式表示数值-1,-2,-3。1.6 整数存储整数存储 二进制补码记数法二进制补码记数法1.6 整数存储整数存储 二进制补码记数法二进制补码记数法 最左边的位常称为最左边的位常称为符号位符号位(sign bit)符号位为符号位为1的模式表示负值的模式表示负值 符号位为符号位为0的模式表示非负值的模式表示非负值1.6 整数存储整数存储 二进制补码记数法二进制补码记数法 绝对值相同绝对值相同的的正负数值正负数值之间的模式很相近,从之间的模式很相近,从右向左右向左读时,直到读时,直到第一个二进制第一个二进制
37、1,它们都是,它们都是相同的;相同的;然后,以这个然后,以这个1为分界线,左面的位模式互为为分界线,左面的位模式互为补码补码(转换所有(转换所有0为为1,转换所有,转换所有1为为0);绝对值相同的正负值的位模式相互转换绝对值相同的正负值的位模式相互转换1.6 整数存储整数存储 二进制补码记数法二进制补码记数法 二进制补码表示法的解码算法二进制补码表示法的解码算法 符号位符号位0,读出这个数值,就好像这个模式是一个,读出这个数值,就好像这个模式是一个二进制表示;二进制表示;如0110表示数值6,因为110是6的二进制表示 符号位符号位1,表示的数值是负的,找到其绝对值。,表示的数值是负的,找到其
38、绝对值。如1010解码:负的,利用“复制及取反”步骤获得了模式0110,是6的二进制表示,原始模式是-61.6 整数存储整数存储 二进制补码记数法二进制补码记数法 二进制补码表示法的解码算法二进制补码表示法的解码算法1.6 整数存储整数存储 二进制补码记数法中的加法二进制补码记数法中的加法 采用二进制加法中使用的算法来计算二进制补采用二进制加法中使用的算法来计算二进制补码记数法中的码记数法中的数值相加数值相加;只是包括只是包括答案答案的所有的所有位模式长度都相同位模式长度都相同。加法运算0101和0010得出0111,0111和1011得出0010(0111+1011=10010,缩减为001
39、0)。1.6 整数存储整数存储 二进制补码记数法中的加法二进制补码记数法中的加法1.6 整数存储整数存储 二进制补码记数法中的加法二进制补码记数法中的加法 一个主要优点一个主要优点 任何任何带符号数字带符号数字组合的加法都可以利用组合的加法都可以利用相同的算法相同的算法,于是也就可以用,于是也就可以用相同的电路相同的电路。当二进制补码记数法用于表示数字值时,一个当二进制补码记数法用于表示数字值时,一个加法电路加法电路与一个与一个取负电路取负电路的组合就足以解决的组合就足以解决加加法法以及以及减法减法的问题的问题 7-5 变为变为 7+(-5)1.6 整数存储整数存储 溢出问题溢出问题 在任意的
40、一个二进制补码系统中,都有对所表在任意的一个二进制补码系统中,都有对所表示数值大小的限制;示数值大小的限制;当使用当使用4位模式二进制补码时,可以表示的最大位模式二进制补码时,可以表示的最大正整数是正整数是7,最小负整数是,最小负整数是 8。5+4得不到正确答案,事实上,它的结果会为-7。这种现象称为溢出溢出(overflow)。1.6 整数存储整数存储 溢出问题溢出问题 即计算得出的数值超出了可以表示的即计算得出的数值超出了可以表示的数值范围数值范围 使用二进制补码记数法时,两个使用二进制补码记数法时,两个正值正值或或负值分负值分别相加别相加都可能会出现这种情况;都可能会出现这种情况;无论哪
41、种情况,检查答案的无论哪种情况,检查答案的符号位符号位就可以发现就可以发现溢出的条件溢出的条件 如果两个正值相加的结果是负值的模式,或者两个如果两个正值相加的结果是负值的模式,或者两个负值相加的结果为正,那么就发生了溢出问题。负值相加的结果为正,那么就发生了溢出问题。1.6 整数存储整数存储 溢出问题溢出问题 使用更长的位模式,或者改变度量单位使用更长的位模式,或者改变度量单位 有意识:小数值可以累加成大数值有意识:小数值可以累加成大数值1.6 整数存储整数存储 余码记数法余码记数法 每一个数值都表示为相同长度的位模式每一个数值都表示为相同长度的位模式 根据二进制记数呈现的顺序写下那个长度的所
42、根据二进制记数呈现的顺序写下那个长度的所有位模式,有位模式,二进制二进制1作为其最高位作为其最高位的第一个模的第一个模式大约就在数列的中间,用这个模式式大约就在数列的中间,用这个模式表示表示0,其其前前的的模式模式就分别用于表示就分别用于表示 1,2,3,,其,其后后的模式分别用于表示的模式分别用于表示-1,-2,-31.6 整数存储整数存储 余码记数法余码记数法余码系统和二进制补码系统的区别就是符符号位相反号位相反1.6 整数存储整数存储 余码记数法余码记数法 4位余码系统位余码系统 称为余称为余8记数法记数法用传统二进制系统的编码翻译每一个模式,然后将其与余码记数法表示的数值进行比较。对于
43、每一个模式,二进制解释值比余码记数法解释值都要大81.6 整数存储整数存储 余码记数法余码记数法 3位余码系统位余码系统 称为余称为余4记数法记数法1.7 小数的存储小数的存储 浮点记数法浮点记数法 存储小数点的位置存储小数点的位置 以只用以只用一个字节一个字节存储的例子来解释浮点记数法存储的例子来解释浮点记数法 规定这个字节的规定这个字节的高位端高位端为为符号位符号位,剩余的,剩余的7个个位分为位分为2组,或称其为域:组,或称其为域:指数域指数域和和尾数域尾数域 规定符号位规定符号位右边的右边的3个位个位为为指数指数域,余下的域,余下的4个位为个位为尾数域尾数域1.7 小数的存储小数的存储
44、浮点记数法浮点记数法1.7 小数的存储小数的存储 浮点记数法浮点记数法 例子:位模式例子:位模式01101011符号位是符号位是0,指数是,指数是110,尾数是,尾数是1011求解它的尾数,并在它的左边放置一个小数点,得到求解它的尾数,并在它的左边放置一个小数点,得到:.1011求解指数域(求解指数域(110)的内容,并将其解释为一个用)的内容,并将其解释为一个用3位位余码方法存储的整数:余码方法存储的整数:21.7 小数的存储小数的存储 浮点记数法浮点记数法 例子:位模式例子:位模式01101011将上面所得结果的小数点向右移动将上面所得结果的小数点向右移动2位。(负指数域就位。(负指数域就
45、意味着向左移动小数点),得到:意味着向左移动小数点),得到:10.11转换为十进制:转换为十进制:2.751.7 小数的存储小数的存储 浮点记数法浮点记数法 例子:位模式例子:位模式00111100求尾数:求尾数:.1100指数域指数域011,将小数点向左移动一位:,将小数点向左移动一位:.01100表示表示3/81.7 小数的存储小数的存储 浮点记数法浮点记数法 用浮点记数法存储数值用浮点记数法存储数值 例子:例子:1.125首先要将其用二进制记数法表示,得到:首先要将其用二进制记数法表示,得到:1.001从左到右将其位模式从左到右将其位模式复制复制到到尾数域尾数域,并从二进制表示,并从二进
46、制表示的的最左边的最左边的1开始:开始:_ _ _ _10011.7 小数的存储小数的存储 浮点记数法浮点记数法 用浮点记数法存储数值用浮点记数法存储数值 例子:例子:1.125填充指数域:假设填充指数域:假设尾数域的左边尾数域的左边有一个有一个小数点小数点,然后,然后规定位的规定位的数量数量以及小数点移动的以及小数点移动的方向方向,以此得到原始,以此得到原始的二进制数字:的二进制数字:.1001中的小数点要中的小数点要向右移动一位向右移动一位才能得到才能得到1.001,指指数数因此为因此为正正,所以我们将,所以我们将101(在余(在余4记数法中表示为记数法中表示为正正1)置于)置于指数域指数
47、域1.7 小数的存储小数的存储 浮点记数法浮点记数法 用浮点记数法存储数值用浮点记数法存储数值 例子:例子:1.125数值是非负的,用数值是非负的,用0填充填充符号位符号位 010110011.7 小数的存储小数的存储 浮点记数法浮点记数法 用浮点记数法存储数值用浮点记数法存储数值 例子:例子:0.375使用二进制记数法表示为使用二进制记数法表示为.011,尾数为:,尾数为:_ _ _ _ 1100 而不是:而不是:_ _ _ _ 0110规范化形式规范化形式:从二进制表示最左边的:从二进制表示最左边的1开始填充尾数域开始填充尾数域非非0数值:以数值:以1开始的尾数;开始的尾数;0:特例,全部
48、为:特例,全部为0的位模式的位模式1.7 小数的存储小数的存储 截断误差截断误差 另外另外1/31.7 小数的存储小数的存储 截断误差截断误差 2.5+0.125+0.125若先计算若先计算2.5+0.125:得到:得到2.625,不能被精确的,不能被精确的存储,最后被存储为:存储,最后被存储为:2.5;在把这个结果加上在把这个结果加上0.125,还是得倒,还是得倒2.5。发生两次截断误差发生两次截断误差:一个大数字加上一个小数字,小数:一个大数字加上一个小数字,小数字可能被截断。字可能被截断。1.7 小数的存储小数的存储 截断误差截断误差 2.5+0.125+0.125若先计算若先计算0.125+0.125,得倒,得倒0.25,二进制表示,二进制表示为为.01,存储为,存储为00111000,精确的;,精确的;将将0.25加到加到2.5,得倒,得倒2.75,存储为,存储为01101011,答案是正确的。答案是正确的。多个数值相加一般规则多个数值相加一般规则:先:先相加小数字相加小数字,这是为了将它,这是为了将它们累计成一个大数字(通过加到更大的数值上)。们累计成一个大数字(通过加到更大的数值上)。