版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章计算机中的信息表示2.1数制的概念及常用数制2.2计算机中的数值表示2.3计算机中的非数值表示2.4校验码和数据校验方法
2.1数制的概念及常用数制
2.1.1数制的概念
数制(NumberSystem)也称为进位计数制,是指用一组固定的数字符号和统一的规则来表示数值的方法。人们使用最多的进位计数制有十进制、二进制、八进制和十六进制,在各种进制中,表示数的符号在不同的位置上时所代表的数的值是不同的。
1.数位
在一种数制中,数码在一个数中所处的位置称为数位。
2.基数
在进位计数的数字系统中,允许使用的基本数码的个数称为该数制的基数,每一种数制都有固定的数码个数。
3.位权
位权也称为位值。2.1.2计算机科学中的常用数制
1.十进制数及其特点
十进制数(Decimalnotation)由0~9共10个不同的数字符号组成,且逢十进一、借一当十,各位的位权是以10为底的幂。
2.二进制数及其特点
二进制数(BinaryNotation)只有两个不同的数字符号0和1,且逢二进一、借一当二,各位的位权是以2为底的幂。
3.八进制数及其特点
八进制数(Octalnotation)用0~7八个数字符号来表示,且逢八进一、借一为八,各位的位权是以8为底的幂。
4.十六进制数及其特点
十六进制数(Hexadecimalnotation)用0~9,A~F十六个数字符号来表示,且逢十六进一、借一为十六,各位的位权是以16为底的幂。其中,十六进制的数字符号A~F分别对应十进制的10~15。
5. R进制数及其特点
扩展到一般形式:一个R进制数,基数为R,用0,1,…,R-1共R个数字符号来表示,且逢R进一、借一为R,各位的位权是以R为底的幂。2.1.3不同数制间的相互转换
1. R进制数转换为十进制数
任意进制数与十进制数的转换,只需求出该进制数的按权展开式之和即可得到与该进制相对应的十进制数。根据R进制数的按位权展开式,我们可以很方便地将R进制数转化为10进制数。
2.十进制数转换为R进制数
一个十进制数有整数和小数两部分,将十进制数转成R进制的数,需要将整数部分和小数部采用不同方式进行转换后,再用小数点将这两部分连接起来。十进制数转换为R进制数的方法:
(1)整数部分:
(2)小数部分:
3.二进制与八进制之间的相互转换
八进制由0~7八个数字符号表示。二进制与八进制的关系如表2-1所示。
4.二进制与十六进制之间的相互转换
十六进制进制由0,1,2,3,4,5,6,7,8,9,10,A,B,C,D,E,F十六个基本符号表示。二进制与十六进制的关系如表2-2所示。2.1.4计算机为什么采用二进制编码
1.电路简单,易于物理实现
2.抗干扰能力强,可靠性高
3.运算规则简单
4.便于逻辑运算
2.2计算机中的数值表示
数值型数据由数字组成,表示数量,用于加、减、乘、除的算术运算,即我们通常所说的数。无论多大的数,正数还是负数,在计算机中都只能用0和1来表示。2.2.1机器数和真值的概念
1.机器数的取值范围
计算机以字节为单位存储数据,一个字节由8个二进制位组成。
2.机器数的符号
在算术运算中,数据是有正负之分的,这类数据称为带符号数。
【例2-9】设某机器的字长为8位,分别写出(10111010)2作为无符号整数和带符号整数对应的真值。
当(10111010)2作为无符号整数时,对应的真值是(10111010)2 = (186)10。当(10111010)2作为带符号整数时,其最高位的数字1代表负号“-”,所以与机器数(10111010)2对应的真值是(-10111010)2 = (-58)10。
3.机器数中小数点的位置
机器数有无符号数和带符号数之分。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余位则表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。2.2.2原码表示
原码表示法是一种最简单的机器数表示法。数值X的原码记为 [X]原,若机器字长为n(即采用n个二进制位表示数据),则最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。下面举例说明数的原码表示。2.2.3反码表示
数值X的反码记作[X]反。在反码表示中,如果机器字长为n,则最高位是符号位,0表示正号,1表示负号。正数的反码与原码相同,负数的反码则是其绝对值按位求反,即0变为1,1变为0,但符号位不变。2.2.4补码表示
1.补码的概念
补码是一种数值的转换方法。
2.补码的转换过程
要将正数转成对应的负数,其实只要用0减去这个数就可以了,如-8可以由0-8得到。例如,设机器字长为8,求0-8的结果。已知(0)10 = (00000000)2,(8)10 = (00001000)2。显然被减数小于减数,根据算术运算法则,可以向上一位借位,对于二进制来说借1为2。则被减数其实是(100000000)2=(11111111)2+1,
所以算式可以写为
3.二进制负数用补码表示的原因
例如,设机器为8位字长,则16+(-8)=的计算为
由上面的结果可以看出,(10011000)2 = (-24)10,显然结果是错误的。也就是说,正常的加法规则不适用于正数与负数的加法。可以看到,利用补码表示法得到的结果是(100001000)2。这是一个9位的二进制数,我们已经假定机器为8位字长,因此最高的第9位是一个溢出位,会被自动舍去。所以,结果就变成了(00001000)2,转成十进制正好是8,也就是16+(-8)的正确答案。由此可以得到以下结论:当一个二进制的负数采用补码来表示时,就可以把减法转换为加法。2.2.5数的定点和浮点表示
1.定点表示
定点表示小数点的位置是固定的,不需要使用符号表示出来。常用的定点数的表示一般有以下两种:
(1)定点整数。将小数点固定在最低数据位的右边,因此定点整数表示的也只是纯整数。由此可见,定点数表示数的范围较小。定点整数的表示格式如下:
(2)定点小数。将小数点的位置固定在最高数值位的前面,因此它只能表示小于1的纯小数。定点小数的表示格式
如下:
如上所示,最高位是符号位,小数点在符号位之后,所以上数表示为(-0.0011001)2。
定点数所能表示的数值范围比较小,运算中很容易结果超出范围而溢出,因此引入浮点数。
2.浮点表示
浮点数表示法不仅可以表示整数和纯小数,而且可以表示一般的实数,其表示范围比定点数要大得多。浮点数表示法类似于科学计数法,任何一个数均可以通过改变其指数部分,使小数点发生移动。浮点数的表示格式如下:
【例2-12】写出浮点数(-101.11101)2的机内表示。其中,阶码用4位原码表示,尾数用8位补码表示,阶码在尾数之前。
阶码为3,用4位原码表示为(0011)原。尾数为(-0.10111101)2,用8位补码表示为(1.01000011)补。
因此,该数在计算机内表示为
2.3计算机中的非数值表示
计算机对文字或其他符号等非数值信息进行处理时,要对其进行数字化编码转换,即用规定好的二进制形式表示才能被计算机加以处理,这些规定的形式就是信息编码。2.3.1西文编码
1.ASCII码
微型和小型计算机中普遍采用ASCII码(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码)表示字符信息。它是由美国国家标准委员会制定,包括数字、字母、通用符号、控制符号在内的字符编码集,该编码被国际化组织(ISO)采纳,是国际上通用的信息交换代码,称为ISO646标准。
2.BCD码与EBCDIC码
BCD(BinaryCodedDecimal,二进制编码的十进制数)码,即用二进制编码形式表示十进制数。
3.Unicode码
Unicode(统一码)码采用16位编码,每一个字符需要2个
字节。2.3.2汉字编码
1.输入码
输入码也称为外码,是指用来将汉字输入到计算机而编制的代码,它是代表某一汉字的一级键盘符号。
2.交换码
交换码是指用于计算机信息交换的一种汉字编码,它是计算机系统之间传递汉字信息的一种协议。因为计算机只能识别二进制编码,所有汉字也都必须转换成二进制编码形式。要想在计算机中识别汉字,就必须在计算机中包含汉字交换码,就相当于国人之间统一用汉语相互沟通一样。
【例2-13】已知“万”字的区位码为“4582”,写出对应的国标码。
①将区码(45)10转换为十六进制数,则(45)10 = (00101101)2 = (2D)16。
②将位码(82)10转换为十六进制数,则(82)10 = (01010010)2 = (52)16。
③将区码(2D)16和位码(52)16分别加上(20)16,则(2D)16 + (20)16 = (4D)16;(52)16 + (20)16 = (72)16。
所以“万”字的国标码为(4D72)16,对应二进制为(01001101001010010)2。
3.机内码
计算机内部汉字的代码称为机内码,又称为“汉字ASCII码”,由扩充的ASCII码组成。机内码是汉字最基本的编码,当利用输入码将汉字输入计算机后,必须将其转换为汉字机内码才能进行相应的存储和进行各种处理。
4.字形码
字形码又称为汉字字模或汉字字形码,用于汉字在显示器或打印机上输出。汉字字形码通常有点阵和矢量两种表示方式。图2-1“你”字的字形与位代码
5.汉字编码之间的关系
在计算机中对汉字的处理,其实就是在汉字的各种编码之间相互转换的过程。只有在中文操作系统环境下才能处理汉字,操作系统中有实现各种汉字代码间转换的模块,在不同场合下调用不同的转换模块工作。汉字编码之间的关系如图2-2所示。图2-2汉字编码之间的关系2.3.3声音的机内表示
声波是空气中传播的一种连续的波,声波到达人耳鼓膜时会感到一种压力的变化,这就是声音。声音有两个重要参数指标:
(1)幅度(振幅)。幅度反映的是声音信号的大小和强弱程度。
(2)频率。频率是指声音信号在单位时间内变化的次数。人们把在时间和幅度上都是连续的声音信号称为模拟信号,把时间和幅度都离散的数字(0和1)表示的信号称为数字
信号。声音进入计算机首先要进行数字化转换,最基本的声音数字化方法是采样-量化法,它分成采样、量化和编码三个步骤。图2-3采样率图2-4模拟信号的数字化过程声音经过数字化以后,其数据传输率(每秒位数)与信号在计算机中的实时传输有直接关系,而其总数据量又与计算机的存储空间有直接关系。数字化后的音频数据传输速率可按如下公式计算,有
数据传输率 = 采样频率 × 量化位数 × 声道数
其中,数据传输率以每秒位(b/s)为单位;采样频率以Hz为单位;量化精度以位(b)为单位。声音经过数字化后所占存储空间(数据量)可以用如下公式计算,有
声音信号数据量 = 数据传输率 × 持续时间/8(B)
【例2-14】设语音信号的采样频率为10kHz,若量化精度为8位,双声道输出,计算每秒钟的数据量(1kHz=1000Hz)。
根据计算公式,有
数据传输率=10kHz×8b×2=160kHz
每秒钟的数据量=160×1000×1/8B=20000B/1024
≈19.53 KB2.3.4图形图像的机内表示
在计算机中的图形数据有两种常用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论