第二章计算机信息表示与存储课件_第1页
第二章计算机信息表示与存储课件_第2页
第二章计算机信息表示与存储课件_第3页
第二章计算机信息表示与存储课件_第4页
第二章计算机信息表示与存储课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

2023/9/171

21世纪高等院校计算机基础课程系列教材大学计算机基础(第一版)

2023/8/11

21世纪高等院校计算机基础课程系列教材大2023/9/172本章教学计划

理论教学(课堂教学):2学时

实验教学(上机实习):0学时本章教学重点

1.数制及相互转换

2.码制及编码

3.二进制运算

4.汉字信息处理第2章计算机信息的表示与存储2023/8/12本章教学计划理论教学(课堂教学):2学时2023/9/1732.1进位计数制2.2数值编码2.3字符的编码第2章计算机信息的表示与存储2023/8/132.1进位计数制第2章计算机信息的表示2023/9/174计算机只认识二进制编码形式的指令,因此字符、数字、声音、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行处理。在机器内部,信息的表示依赖于机器硬件电路的状态,信息采用什么样的表示形式,直接影响到计算机的质量与性能。采用二进制是由于这种编码方式在物理上实现容易,二进制仅有两个状态0与1,这正好与物理器件的两种状态相对应,如门电路的导通与截止、电压信号的高与低,如采用十进制,则电路需要用十种状态来描述,这必然使得电路十分复杂,处理起来十分困难。采用二进制使得物理机器可靠性高,由于仅有二种状态,那么用电压的高低或电流的有无来描述都是用质的变化来表示的,两种状态分明,处理起来简单,并且抗干扰能力强,鉴别信息的可靠性高。采用二进制编码不仅成功的运用于数值信息编码,而且适用于各种非数值信息的数字编码。特别是二进制数的两个符号0和1,正好与逻辑命题两个值“真”与“假”相对应,从而也为计算机实现逻辑判断提供了方便。前言信息在计算机内的表示2023/8/14计算机只认识二进制编码形式的指令,因此2023/9/1752.1.1不同数制的表示*数制在数值计算中,一般采用的是进位计数,日常生活中我们采用的是十进位计数,而在计算机内处理信息采用二进位计数。在进位计数的数字系统中,如果只用R个基本符号(如0,1,2····R)来表示数值,则称其为“基R数制”。R称为该数制的“基数”,而数值中每一固定位置对应的单位称为“权”。如十进制数,就是R=10,即基本符号为0,1,2·····8,9。如取R=2,即基本符号为0,1,则为二进制数。进位计数的编码符合“逢R进位”的规则。各位的权是以R为底的幂,一个数可按权展开成多项式。2.1进位计数制2023/8/152.1.1不同数制的表示2.1进位计数2023/9/1762.1进位计数制2023/8/162.1进位计数制2023/9/1772.1.2不同数制的转换2.1进位计数制(1)R进制转换为十进制基数为R的数字,只要将各位数字与它的权相乘,然后将其按“逢十进一”相加,其和就是一个十进制数。2023/8/172.1.2不同数制的转换2.1进位计数2023/9/178(2)十进制转换成R进制将十进制转换成R进制时,将整数部分和小数部分分别转换,然后再将整数部分与小数部分转换的结果相加起来。这里主要介绍十进制转换成二进制。2.1进位计数制2023/8/182.1进位计数制2023/9/179(2)十进制转换成R进制十进制小数转换成R进制时,可连续地乘以R,直到小数部分为0,或达到所要求的精度为止(小数部分可能永远不为0)得到的整数即组成R进制的小数部分,此法称“乘R取整”。2.1进位计数制2023/8/19(2)十进制转换成R进制2.1进位计数制2023/9/17102.1.2不同数制的转换(3)二、八、十六进制的相互转换由于二位,八位,十六位这三种进制数的权之间有一定的内在联系,即23=8、24=16,故其之间的转换比较容易。即每一位八进制数相当于三位二进制数,每一位十六进制数相当于四位二进制数。在由二进制转换为八进制时,以小数点为中心向左右两边延伸,每三位为一组,中间的0不省,到了两头不够一组时用0补足位数,算出每一组相对应的十进制数,然后将这些十进制数组合起来就成了一个八进制数。例:将(11101.00101)2转换成八进制数。2.1进位计数制2023/8/1102.1.2不同数制的转换2.1进位计2023/9/17112.1.2不同数制的转换(3)二、八、十六进制的相互转换2.1进位计数制2023/8/1112.1.2不同数制的转换2.1进位计2023/9/17122.1进位计数制2.1.3计算机运算基础一、算术运算基础计算机内部的运行采用的是二进制数,其基本的运行就是算术运算与逻辑运算。二进制数的算术运算与十进制数的算术运算一样,也包括加、减、乘、除四则运算

1)二进制的加法运算二进制数的加法运算法则是:

1+1=0(采用逢二进一的法则1+1=2则进位,本位为0)

1+0=1

0+1=1

0+0=02023/8/1122.1进位计数制2.1.3计算机运算2023/9/17132.1进位计数制一、算术运算基础2)二进制的减法运算二进制减法运算法则:

0-0=0

1-1=0

1-0=1

0-1=1(被减数为0,减数为1,被减数向高位借位则本位余1)2023/8/1132.1进位计数制一、算术运算基础2023/9/17142.1进位计数制一、算术运算基础3)二进制乘法二进制乘法法则:

0×0=0

1×0=0

0×1=0

1×1=12023/8/1142.1进位计数制一、算术运算基础2023/9/17152.1进位计数制一、算术运算基础4)二进制的除法运算二进制的除法运算法则:

0/0=0

0/1=0

1/0=0(无意义)

1/1=12023/8/1152.1进位计数制一、算术运算基础2023/9/17162.1进位计数制2.2数值编码2.3字符的编码第2章计算机信息的表示与存储2023/8/1162.1进位计数制第2章计算机信息的表2023/9/1717

在计算机内部,计算机仅“认识”两个字—“0”和“1”,无论是处理数据、发出控制指令、数据存放的地址、还是通信时传输的数据都是二进制数。同时计算机在进行数字计算、处理字母符号、汉字、图形、图像、声音都必须按一定的规则将其转换成二进制。这个规则就是编码。

2.2数值编码2023/8/1172.2数值编码2023/9/1718

在计算机内,各种信息都是以二进制码形式来描述、存储。存储就有量的大小,信息存储的单位就使用一些量来描述。①位(bit)位是度量数据的最小单位,表示一位二进制信息。②字节(byte)我们前面介绍的存储器的容量、硬盘的大小、内存的大小、光盘的容量等都是以多少字节来表示的,常用的单位有:

B

1B=8bit

KB1KB=1024ByteMB1MB=1024KBGB1GB=1024MB

TB1TB=1024GB

字节是计算机中用来表示存储空间大小的最基本的容量单位。2.2数值编码2023/8/1182.2数值编码2023/9/1719

数据在计算机中的表示(1)数值数值有大小及符号(正数,负数)。数在计算机的表示统称为机器数。①数的符号数值化:通常把一个数的二进制代码的最高位定义为符号位,最高位为“0”表示该数为正数,最高位为“1”表示该数为负数,这一位称为数符,其余位表示该数的绝对值。若一个数为八位,则最高位为数符,其余7位才表示该数的值。②定点数:用来表示整数和纯小数,因此小数点约定在一个固定的位置上,不再占用一个数位。③机器数的表示范围受到字长和数据类型的限制,例如,若表示一个整数,字长为8位,最大值为127,若数值超过127,就要“溢出”。为了表示较大的或较小的数,计算机采用浮点来表示,其中小数点在数中的位置是浮动的。2.2数值编码2023/8/119数据在计算机中的表示2.2数值2023/9/17202.2.1带符号数的表示方式从上面描述的机器数知道,机器数由数符和真值数两部分组成,机器数在参加运算时,若数符与真值数同时参加运算,则会产生错误的结果,同时还要考虑计算后的符号问题。因此直接用机器数参与运算,则增加计算机计算的难度。如+7加上-5应为+2,但如果直接用二进制数的加法运算:

00000111+7机器数

+10000101-5机器数

10001100-12机器数如果不直接相加,就要考虑符号位的处理,则运算会变得复杂。为了解决这类问题,在机器数中,负数有三种表示法:原码、反码、补码!2.2数值编码2023/8/1202.2.1带符号数的表示方式2.2数2023/9/17212.2.1带符号数的表示方式下面介绍原码、反码、补码。为简单起见,这儿以整数为例,并且假定字长为8位。

原码:整数X的原码,其符号位“0”表示正、“1”表示负,其数值部分就是X绝对值的二进制表示.通常用[X]原表示X的原码.如:

[+2]原=00000010[-2]原=10000010在原码中0有两种表示:

[+0]原=00000000[-0]原=10000000原码表示有三个主要特点:一是直观,与真值转换很方便;二是进行乘、除运算方便;三是加、减运算比较麻烦。2.2数值编码2023/8/1212.2.1带符号数的表示方式2.2数2023/9/1722

反码:整数X的反码指:对于正数,其反码与原码相同,对于负数,符号位为1,其数值位X按位取反,通常用[X]反表示X的反码。例:

[+2]反=00000010

[-2]反=11111101

0的反码有两种表示:[+0]反=00000000

[-0]反=11111111[+127]反=01111111[-127]反=10000000

2.2数值编码2023/8/122反码:整数X的反码指:对于正数,其反2023/9/1723补码:补码的引进和定义补码的编码规则如下:定义正数的补码就是它本身,符号位取0,即和原码相同。负数的补码通过在其对应的反码最低位加1得到。

[+5]补=[+5]反=[+5]原=00000101

[-5]原=10000101[-5]反=11111010[-5]补=111110110的补码如下所示:

[+0]补=[-0]补=

00000000

2.2数值编码2023/8/123补码:补码的引进和定义2.2数值编码2023/9/1724补码的性质:补码的性质主要有三条:①[X+Y]补=[X]补+[Y]补,即两数之和的补码等于各自补码的和。②[X-Y]补=[X]补+[-Y]补,即两数之差的补码等于被减数的补码与减数相反数的补码之和。③[[X]补]补=[X]原,即按求补的方法,对[X]补再求一次,结果等于[X]原。利用补码进行加、减运算:引进补码的目的是方便带符号数的加、减运算,这里仅看一下加法,举几个例子。2.2数值编码2023/8/124补码的性质:补码的性质主要有三条:22023/9/1725

请注意:符号也参与运算,符号位出现的进位应丢弃。下面是三个利用补码求和的例子。这里假定机器数为8位。(1)两个正数相加

x=(0111101)2y=(0100001)2

(x)补=00111101(y)补=00100001

(x)补+(y)补=00111101+00100001=01011110

(x+y)补=01011110=(x)补+(y)补

(2)两个负数相加

x=(-0111101)2y=(-0100001)2

(x)补=11000011(y)补=11011111

(x)补+(y)补=11000011+11011111=10100010

(x+y)补=(-1011110)补=10100010=(x)补+(y)补2.2数值编码2023/8/125请注意:符号也参与运算,符号位出现的2023/9/1726(3)正数x和负数y相加:

x=(3D)H=(0111101)2y=(-21)H=(-0100001)2

(x)补=00111101(y)补=11011111

(x)补+(y)补=00111101+11011111=00011100

(x+y)补=(0011100)补=00011100=(x)补+(y)补2.2数值编码2023/8/126(3)正数x和负数y相加:2.2数值2023/9/1727

综上所述:原码定点整数的表示范围为:-(2n-1)~(2n-1)补码定点整数的表示范围为:-2n

~(2n-1)

若机器字长有8位,则:原码定点整数表示范围为:-127~127补码定点整数表示范围为:-128~127011111110111111101111111100000001000000010000000§3数的定点表示与浮点表示0111111101111111011111111111111111111111111111112023/8/127综上所述:01111111011112023/9/17282.2数值编码溢出:当运算的结果超出某种数据类型所表示的数的范围时,机器不能正确表示,这时要产生溢出。在溢出的情况下,机器将产生错误的结果。例如,X=-1000001(-65),Y=-1100000(-96),求X+Y。按上面补码加法做,会得到和的补码01011111,符号位为0,结果为一个正数。这显然是错误的。究其原因,这两个数的和为-161,已超过了8位数据补码表示的范围,出现溢出,因而导致了错误。避免溢出的一种有效方法是加宽数据的位数。现代计算机的数据表示有多种类型。8位机的数据可以是8位,也可以是16位;16位机的数据可以是8位、16位、32位;32位机的数据可以是8位、16位、32位、64位等。2023/8/1282.2数值编码溢出:当运算的结果超出某2023/9/17292.1进位计数制2.2数值编码2.3字符的编码第2章计算机信息的表示与存储2023/8/1292.1进位计数制第2章计算机信息的表2023/9/1730*字符编码

计算机需要处理的数据不仅包括数值数据,而且还要处理大量非数值的符号数据。这些非数值的符号数据必须通过某种编码形式用二进制位0和1来表示,才能让计算机对其进行处理。这些文字信息的符号包括了西文字符(字母、数字、各种符号)和中文字符。

2.3字符的编码2023/8/130*字符编码2.3字符的编码2023/9/17312.3.1ASCII码前面介绍了数值数据的编码,这解决了计算机表示数值信息的问题,除了数值数据外,计算机还面临要处理的就是字符、特别是英文字符以及各种标点符号、运算符等。这些都要转换成二进制编码后才能在计算机内部进行处理,目前国际上通用的西文字符编码就是所谓的ASCII码(AmericanStandardCodeforInformationInterchange——美国国家信息交换代码)。2.3字符的编码2023/8/1312.3.1ASCII码2.3字符的编2023/9/17322.3字符的编码2023/8/1322.3字符的编码2023/9/17332.3.2汉字的编码汉字是一种象形文字,它的“意”都寓于其“形”和“音”中。如果直接向计算机输入文字和语音虽然可以实现,但远不理想,况且输入装置要做修改。而在计算机内部直接处理、存储文字的字形和语音就更加困难。故处理字符要进行代码化,西文拼音文字代码化比较容易,而汉字由于种类繁多,其编码比拼音文字难得多。汉字信息处理系统在处理汉字和词语时,要进行一系列的汉字代码转换。通过键盘或其他的输入工具输入汉字时,要按一定的编码来进行,这称之为输入码,而在计算机内部存储、处理、传输汉字用的代码称为机内码。而要将汉字输出,用打印机或显示器输出应有一个字形码。2.3字符的编码2023/8/1332.3字符的编码2023/9/1734

(1)输入码目前使用得最多的输入设备就是西文标准键盘,这种键盘的设计沿用了西文打字机的排列。因而,西文的输入十分方便,想输入什么字符就按什么键。中文输入为了能直接使用西文字符标准键盘,就不可能直接按某键了。中文的字数繁多,字形复杂,字音多变。常用的汉字就有7000多个左右,因此要对汉字设计相应的编码,以便操作人员从键盘上输入代表汉字的编码。这些编码由拉丁字母(如汉语拼音)、数字(区位码)、或特殊符号(五笔字形)构成,千变万化。各种输入方案就是以不同的符号系统来代表汉字进行输入的。目前使用得比较多有区位码、五笔字形码、拼音码、自然码、和智能ABC。汉字的编码主要分为三类,数字编码,拼音,字形码。2.3字符的编码2023/8/134(1)输入码2.3字符的编码2023/9/1735

(2)机内码机内码是计算机设备内部对信息进行处理、内部存储、传输所用的代码。世界各大计算机公司一般均以ASCII码为内部码来设计计算机系统,西文计算机中没有交换码与机内码之分。而汉字数量多,用一个字节无法区分,一般用2个字节来存放汉字的编码。两个字节共16位,可以表示216=65536个可区别的码,如果两个字节各用7位,则可表示214=16384个可区别的码。一个码代表一个汉字。一般来说,这已够用了,现在我国的汉字信息系统一般都采用这种与ASCII码相应的8位码方案,用2个8位构成一个汉字机内码。

2.3字符的编码2023/8/1352.3字符的编码2023/9/1736

(2)机内码

1981年我国颁布了《通用汉字字符集(基本集)及其交换码标准》(国家标准代号为GB2312-80)。这是汉字交换码的国家标准,所以又称“国标码“。该标准收入了6763个常用汉字(其中一级汉字3735个,二级汉字3008个),以及英、俄、日文字与其它符号687个,共有7000多个符号。国标码规定每个字符由一个2字节代码组成。每个字节的最高位恒为“0”,其余7位用于组成各种不同的码值。两个字节的代码,共可表示128×128=16384个符号,而国标码的基本集目前仅有7000多个符号,所以足够使用。计算机既要处理汉字,也要处理西文。为了实现中、西文兼容,通常利用字节的最高位来区分某个码值是代表汉字或ASCII码字符。具体的作法是,若最高位为“1”视为汉字符,最高位为“0”视为ASCII码字符。所以汉字的机内码就在上述的国标码的基础上,把2个字节的最高位一律由“0“改为“1”而构成。2.3字符的编码2023/8/136(2)机内码2.3字符的编码2023/9/1737

(2)机内码机内码是供计算机“识别”所用。而输入码是供用户通过输入装置输入时所用的编码。如用某种编码通过键盘输入的汉字,键盘管理程序将其转换为机内码输入到计算机。供计算机处理,如图1.7所示。为了统一地表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC10646。简称UCS(UniversalCodeSet),USC中包含了中、日、韩等国文字,这一标准为包括汉字在内的各种正在使用的文字,规定了统一的编码方案。该标准是用4个8位码(四个字节)来表示一个字符。我国相应的国家标准为GB13000。2.3字符的编码2023/8/137(2)机内码2.3字符的编码2023/9/1738(3)汉字字型码在汉字输出时用显示器显示,用打印机打印,这就需要用到汉字字型码。汉字字型码是汉字字型的字模数据。通常用点阵、矢量函数等方式来表示,用点阵表示字型时,汉字字型码就是这个汉字字型点阵的代码。字型码也称字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式,根据输出汉字要求不同,点阵的多少也不同。通常汉字显示用16×16点阵,汉字打印可选用24×24、32×32、48×48等点阵,点数越多,打印的字体越美观。但汉字库占用的存储空间也越大。如一个24×24的汉字占用空间为72B,而48×48的汉字将占用48×6=288B。

2.3字符的编码00,8000,8020,8010,8011,FE20,1021,0822,040C,03汉字内码1XXXXXXX1XXXXXXX英文内码0XXXX

温馨提示

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

评论

0/150

提交评论