信息学 数据在计算机中的表示_第1页
信息学 数据在计算机中的表示_第2页
信息学 数据在计算机中的表示_第3页
信息学 数据在计算机中的表示_第4页
信息学 数据在计算机中的表示_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

信息学奥林匹克竞赛教材数据在计算机中表示主编:汪长喜大庆一中

1.3数据在计算机中的表示

数据是计算机处理的对象。这里的“数据”含义非常广泛,包括数值、文字、图形、图像、视频等各种数据形式。计算机内部一律采用二进制表示数据。

为什么要用二进制?

二进制并不符合人们的习惯,但计算机内部仍采用二进制,主要原因有四点:

1.电路简单

计算机是由逻辑电路组成,逻辑电路通常只有两个状态。例如,开关的接通与断开,电压电平的高与低,这两种状态正好用来表示二进制数的两个数码0和1。

2.工作可靠

两个状态代表的两个数码在数字传输和处理中不容易出错,因而电路更加可靠。

3.简化运算

4.逻辑性强

计算机的工作是建立在逻辑运算基础上的,逻辑代数是逻辑运算的理论依据。有两个数码,正好代表逻辑代数中的“真”与“假”。

数据单位

二进制只有两个数码0和1,任何形式数据都要靠0和1来表示。为了能有效地表示和存储不同形式的数据,人们使用了下列不同的数据单位:

1.位(bit)

位,音译为“比特”,是计算机存储数据、表示数据的最小单位。一个bit只能表示一个开关量,例如1代表“开关闭合”,0代表“开关断开”。

2.字节(byte)

字节来自英文Byte,简记为B,音译为“拜特”。规定1个字节等于8个位,即1Byte=8bit。字节是个重要的数据单位,表现在:

计算机存储器是以字节为单位组织的,每个字节都有一个地址码,通过地址码可以找到这个字节,进而能存取其中的数据;

字节是计算机处理数据的基本单位,即以宇节为单位解释信息。

计算机存储器容量大小是以宇节数来度量的,经常使用的单位有B、KB、MB、GB。

3.字(Word)

计算机一次存取、加工和传送的宇节数称为宇。由于字长是计算机一次所能处理的实际位数的多少,决定了计算机数据处理的速度,因而是衡量计算机性能的一个重要标志。字长越长,性能越强。

不同形式数据的表示方法:

1.数值数据的表示

数值数据有大小和正负之分。无论多大的数,正数还是负数,在计算机中只能用0和1来表示。显然,一个bit所能表示范围是有限的,最大只能表示1,要想表示更大的数,就得把多个bit作为一个整体按照进位规则来描述一个数。例如,用两个字节表示一个整数、四个字节表示一个实数等。数的正负号,通常在二进制数的最前面规定一个符号位,若是1就代表是正数,若是0就代表负数。

2.字符数据的表示

人们使用计算机的基本手段是通过键盘与计算机交互,从键盘上敲入的各种命令和数据都是以字符形式体现的。然而,计算机只能存储二进制数,这就需要对字符数据进行编码,并由机器自动转换为二进制形式存入计算机。下面介绍几种在计算机应用中经常使用的编码。

(l)、ASCII码

ASCII码用七位二进制数表示一个字符,由于2^7=128,所以共有128种不同组合,可以表示128个不同的字符。其中包括:数字0~9,26个大小写英文字母,以及各种运算符号、标点符号及控制字符等,例如:大写A的ASCII码是65,小写a则是97,0是48,空格是32。

(2)、国家标准汉字编码

国家标准汉字编码简称国标码,规定一个汉字用两个宇节表示。

(3)、汉字输入码

汉字输入方法很多,如区位,拼音,五笔字型等。不同输入法有自己的编码方案,方案统称为输入码。输入码进人机器后必须转换为机内码进行存贮和处理。

(4)、汉字字形码

汉字字形码是一种用点阵表示汉字字形的编码,是汉字的输出形式。它把汉字按字形排列成点阵,常用的点阵有16×16、24×24、32×32或更高。一个16×16点阵的汉字字形要占用32个宇节,24×24点阵要占用72个字节……。可见汉字点阵的信息量是非常大的。所有不同的汉字字体、字号的字形构成汉字库,一般存储在硬盘上,当要显示输出时才调入内存,检索到要输出的字形送到显示器输出。计算机中数的表示:1、各种进位计数制

a.十进制数

十进制数就是我们在日常生活中所用的数,它共有0,1,2,3,4,5,6,7,8,9这十个数码,它的计数方法是"逢十进一"。对于十进制数的运算大家应该都知道,这里就不多说了。

b.二进制数

二进制数是最简单的进位计数制,它只有0,1二个数码,计数方法是"逢二进一"。二进制数的运算十分简单,加法是"逢二进一",减法是"借一当二"。例如"11+10=101;101-10=11"至于乘法和除法和我们日常相似,只不过不是"逢十进一"而是"逢二进一"罢了。

c.八进制数和十六进制数

很显然八进制数是0到7这八个数码组成,且是"逢八进一",而十六进制数是由0到9和A,B,C,D,E和F(英语大写字母分别代表10到15)这十六个数码组成的,它的进位方式是"逢十六进一"。以下是乘/除法的例子。

在下面我将给出二,八,十和十六进制数码的对照关系表。如下表所示:

2、数制的转换

a.将十进制数转换成二进制数

试将十进制数125.6875转换成二进制数。

(1).整数的转换:除2取余,最后将余数倒着排列即得结果。

先将125除以2在右边记下余数,然后以此类推,直到最后的差为0,最后我们将余数倒着排列即得结果。

(2).小数的转换:乘2取整

小数的转换正好与整数的转换相反,先将0.6875乘以2得结果1.3750,则在右边记下整数位1,再将去整数位后的0.375乘以2记下结果,依此类推,直到最后小数部分为0或结果以达到精度要求。所以125.6875=1111101.1011B

b.将十进制数转换成八/十六进制数

方法如上,只不过乘/除数为8或16。

c.二,八/十六进制数转换成十进制数

转换方法是利用数制的一般表达式写成相应的幂运算形式,然后求和得到。

例:572.34(8)=5*8^2+7*8+2+3*8^-1+4*8^-2=378.4375

d.二进制数与八进制数的转换

因为2^3=8,所以二进制数转换成八进制数只需将二进制数从小数点开始每3位转成一位八进制数(整数由左向右,小数相反)。例如:

101111010.011100(2)=572.34(8)

八进制数转换成二进制数只需将每一位八进制数用三位二进制数表示,小数点位置不变。例如:

175.54(8)=001111101.101100B=1111101.1011B

至于十六进制数与二进制数的转换只需将每隔3位改为每隔4位即可.

计算机中数的表示(反码、补码)

计算机中要处理的数分无符号数和有符号数两种,有符号数在计算机中用“0”

表示正数,“1”表示负数。

原码:用“0”表示正数,“1”表示负数,用这种方法表示的数称为原码。用这种数进行两个异号数相加或两个同号数相减时很不方便。为了将减法运算转换为加法运算,需要引入反码和补码的概念。

对于正数:反码=原码,

对于负数:除符号位外,其他各位分别0,1取反。

例:原码01000101,其补码为01000101

原码11000101,其补码为10111010。

补码:正数的补码=原码,对于负数:补码=反码+1。

例:01000101

的补码为01000101,11000101的补码为10111011。

总之:正数的原码=反码=补码,负数的补码=反码+1

二、原码,补码和反码

在计算机中参加运算的数有正负之分,通常在计算机中我们用X=X0X1X2``````XN-1来表示一个二进制数,并规定当X0=0时X为正数,X0=1时X为负数.在计算机中这种表示法有原码,补码和反码三种

1.原码

原码的定义如右图(1)式所示。例子:根据[X](原)所能表示的整数范围公式,我们可以计算出当n=8时,原码表示范围是[-127,127]原码的表示法简单易懂,但是它最大的缺点是运算复杂。所以人们引进了补码。

2.补码

补码的定义如图(2)式所示。例子:根据[X](补)所能表示的整数范围公式我们可以计算出当n=8时补码表示范围是[-128,127];根据补码的定义公式我们可以计算出任何一个数的补码,如X=-2FH根据公式[X](补)=100H-2FH=D1H。用补码进行加减运算是很简单的,公式为[X+Y]补=[X]补+[Y]补;[X-Y]补=[X]补+[-Y]补。加法公式是非常简单的,但减法中我们只知道[Y]补而不知道[-Y]补,利用一个口诀就可解决这个问题,口诀是“将[Y]补连同符号位一起按位求反后末为加一可得[-Y]补”。我们现在虽然有了公式和口诀,但是还有符号位的问题没有解决,而另一个口诀可以解决这个问题。口诀是“符号位参加运算,符号位相加,若有进位,则进位舍去”。如:63H-72H=63H+8EH=0F1H(用十六进制时最高位为字母时前加0)。

注意:运算有时会产生溢出,如57+81>127。当我们用N=8的补码运算就会溢出,因为当字长N=8时补码的表示范围是[-128,127]。

3.反码

反码的定义如右图(3)式所示。例子:根据[X](反)所能表示的整数范围公式,我们可以计算出当n=8时反码表示范围是[-127,127]。

三.数的定点和浮点表示法

在计算机中,针对小数点的处理有两种方法:定点表示法浮点表示法。

1.定点表示法

定点表示法就是小数点固定在某个位置上。在定点计算机中,为了简单通常将小数点定在最高位(即纯小数)或将小数点定在最低位(即整数)。

2.浮点表示法浮点表示法就是小数点的位置并不固。浮点数在计算机中通常的表示形式为浮点数=2的正/负阶码次方*尾数其中阶码是个正整数,尾数是个小数,我们规定尾数的区间为[0.5,1),如果尾数不在此区间,那我们可通过调节阶码来满足区间,此方法称为规格化。四、BCD码和字符编码

在日常生活中人们用的是十进制数,而机器又只能处理二进制数,因此我们引进了BCD码。BCD码是用四位的二进制数来表示一位十进制数(可参照下表)。例子:我现在将8351表示成BCD码为10

温馨提示

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

评论

0/150

提交评论