计算机中数据的表示及其运算_第1页
计算机中数据的表示及其运算_第2页
计算机中数据的表示及其运算_第3页
计算机中数据的表示及其运算_第4页
计算机中数据的表示及其运算_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、1计算机中数据的表示及其运算 2 计算机进行数据处理时,首先要将相应的数据输入到计算机中,并以一定的形式存储在计算机中。计算机内部是一个二进制数字世界,所以,不管是数值数据数值数据还是非数是非数值数据值数据,都必须转换成二进制数的形式,才能存入计算机中。 数值数据数值数据 有确定的值并在数轴上有对应的点。 是非数值数据是非数值数据 非数值数据没有确定的值,如字符、文字、图像、声音、逻辑数据等。33 3)计算机中采用二进制的原因)计算机中采用二进制的原因(1)物理实现容易,(2)二进制运算简单,(3)机器可靠性高,(4)通用性强 图4.25 各种数据在计算机中的转换过程 4431 进位计数制 1

2、) 进位计数制进位计数制任何一种计数制,都具有以下三个要点:(1) 数制使用的数码。十进制含10个数码:;二进制含个数码:,等。(2) 进位规则。十进制为逢十进一;二进制为逢二进一等。(3) 每一个数位上数码所具有的权。十进制数码各位的权是以10为底的幂,二进制数码各位的权是以为底的幂。 5例如,数828.8的值为 8102+2101+8100+810-1其中,102、101、100、10-1称为权。对于任何一个十进数N,都可以表示成按权展开的多项式:N=dn10n+dn-110n-1+d1101+d0100+d-110-1+d-m10-m = di10i其中,di是09十个数字中的任意一个,

3、m、n是正整数,10被称为十进制数的基数,它是相邻数位的权之比。6一般而言,对于用R进制表示的数N(R为任意正整数),可以按权展开为:N=KnRn+Kn-1Rn-1+K1R1+K0R0+K-1R-1+K-mR-m = KiRi其中,Ki是0,1,(R-1)个数字中的任意一个,m、n是正整数,R是基数。7表4.1列出了计算机中常用的四种进位计数制。其中十六进制中的A,B,C,D,E,F分别相当于十进制中10,11,12,13,14,15的值。 进位制二进制八进制十进制十六进制规则逢二进一借一当二逢八进一借一当八逢十进一借一当十逢十六进一借一当十六基数R=2R=8R=10R=16数符0,10,1,

4、2,70,1,2,90,1,2,9A,B,C,D,E,F权2i8i10i16i形式表示BODH8 在十进制中,如将某数的各位向左移动1位,则其值增大到原来的十倍;如将某数的各位向右移动1位,则其值减少到原来的十分之一。同样,在二进制中,如将数的各位向左移动1位,则其值增大到原来的二倍;反之将数的各位向右移动1位,则其值减少到原来的二分之一。例如,二进数101011.1在左移1位或右移1位后,其值的变化如下: 二进数 值 101011.1 43.5向左移1位 1010111.0 87向右移1位 10101.11 21.7592) 不同进位计数制之间的转换不同进位计数制之间的转换 转换所依据的原则

5、是:如果两个数的值相等,则两数的整数部分和小数部分的值一定分别相等。 (1) 二进制、八进制和十六进制数转换为十进制数。任意R进制数转换成十进制数比较简单,只需按权展开然后相加,其和便是相应的十进制数。这种方法称为按权相加法。【例4-1】 求与(11011.01)2等值的十进数解:(11011.01)2=124+123+022+121+120+02-1+12-2 =16+8+0+1+0+0.25=(27.25)10 【例4-2】 将十六进制数35B转换成十进数.解:(35B)16=3162+5161+11160=768+80+11=(859)1010(2) 十进制数转换成二进制数、八进制或十六

6、进制数整数部分:除基取余法 【例4-3】 把18转换成二进制数。解:2 18 余0(K0) 2 9 余1(K1) 24 余0(K2) 2 2 余0(K3) 2 1 余1(K4) 0所以 (18)10=(10010)211小数部分:乘基取整法 【例4-4】 将(0.8125)10转换成二进制数。解: 0.8125 2 1.6250 1(K-1) 21.2500 1(K-2) 20.5000 0(K-3) 2 1.0000 1(K-4) 所以 (0.8125)10=(0.1101)212(3)二进制数与八进制数的相互转换二进制数转换成八进制数的方法可以概括为“三位并一位”;八进制数转换成二进制数的

7、方法可以概括为“一位拆三位”; 【例4-6】 将 (11101.1101)2转换成八进制数。解: 0 1 1 1 0 1 . 1 1 0 1 0 0 3 5 6 4 所以 (11101.1101)2=(35.64)813(4)二进制数与十六进制数的相互转换二进制数转换成十六进制数的方法可以概括为“四位并一位” ;十六进制数转换成二进制数的方法可以概括为“一位拆四位” ;【例4-7】 将(25.C4)16转换成二进制数。解: 2 5 . C 4 0010 0101 1100 0100所以 (25.C4)16=(100101.110001)2表表4.2列出了二、八、十、十六进制数之间的对应关系。列

8、出了二、八、十、十六进制数之间的对应关系。 14432 机器数 一个数在计算机内部表示成的二进制形式称为机器数机器数,原来的数称为这个机器数的真值真值。 机器数具有下列特点:(1) 由于计算机设备的限制,机器数有固定的位数,它所表示的数受到计算机固有位数的限制,所以机器数具有一定的范围,超过这个范围便会发生溢出。(2) 机器数将其真值的符号数字化。计算机中使用具有两个不同状态的电子器件,它们只能分别表示数字符号“0”和“1”。所以,数的正负号也只能通过0和1来加以区分。通常,用机器数中规定的符号位(一般是一个数的最高位)取0或1分别表示其值的正或负。(3) 机器数中依靠格式上的约定表示小数点的

9、位置。151)数据的符号表示问题)数据的符号表示问题 机器数在参与运算时,若将符号位和数值一起进行运算,有时会产生错误的结果。例如,6+4的结果应为2,但按上述方法,则运算如下: 10000110 6的机器数 + 00000100 4的机器数 10001010 结果为10 常用的几种机器数符号表示方法:原码、补码、反码、移码。 16(1) 原码表示法 原码表示的规则是:最左边一位表示数的符号,且以“0”表示正号,“1”表示负号;其余各位表示数的大小,即其绝对值。 例如,假设机器数的位数是8,则+73原=01001001 73 原=11001001+127 原=01111111 127 原=11

10、111111对于真值0而言,可以被认为是+0,也可被认为是0。+0 =00000000,0 =10000000,所以数0的原码不唯一,有“正零”和“负零”之分。 原码表示简单易懂,与真值转换方便,用于乘除运算十分方便。 17(2) 补码表示法 模模的概念:“模模”是指一个计量系统的计数范围。 例如:时钟的模为12,计量范围是011。若时钟指向11,则再过1小时,时钟将指向0(即12)。n位计算机的模为2n,计量范围是02n-1。设n=4,模为24=16,计量范围是015(二进制表示为00001111)。若当前值是1111,则再加1,计数值就变为0000,而在最高位上溢出了一个“1”。任何有模的

11、计量器,均可化减法为加法运算。只需把减数用相应的补码表示就可将减法运算化为加法运算。 18对于整数而言,若计算机字长为n位,则 X 0X2n-1X补= 2n+X 2n-1X0时,最大值为X补=01111111=+127;当X0时,绝对值最大为X补=10000000=-27=-128。所以8位整数的表示范围是-128+127。数0的补码表示是唯一的,即 0 补=+0 补=-0 补=0000000020真值与补码简便转换方法 对正数而言,补码与真值相同;对负数而言,符号位取1,其它各位取反、末位加1; 【例4-8】 求36的补码。解:第1步:将36表示成二进制数 第2步:符号位取1,其余各位取反得

12、 第3步:末位加1,结果为 所以 36补 =11011100【例4-9】 求11110110补的真值。解:第1步:除符号位外,各位取反得 第2步:末位加1,结果为 所以 真值为(0001010)2,即(10)1021根据补码定义,可以证明X 补+ Y 补= X+Y 补X 补- Y 补= X -Y 补 这表明,两个补码加减的结果也是补码,而且在运算时,符号位可同数值部分作为一个整体参加运算,如果符号位有进位,则舍去进位。【例4-10】 设a=4,b=6,请用补码求和方法计算(ab)。解:因为a 补=00000100,b 补=11111010 且ab 补=a 补+b 补=00000100+1111

13、1010=11111110所以 (ab)= 2 采用了补码表示法后,加法和减法统一成了加法运算,可以大大简化计算机运算部件的电路设计,所以现代计算机中都使用补码形式的机器数。 22 前已述及,利用“求反加1”的方法可以得到负数的补码。如在上述方法中,只求反而不加1,就得到另一种机器数的表示,这就是反码表示法。 反码定义为: X 0X2(n-1) X反 = (2n1)+X 2(n-1)X0 反码表示很少直接用于计算中。反码主要被用作真值求补码的一个过渡手段。 (3) 反码表示法23(4)移码表示法 对于n位整数,移码定义为X移=2(n-1)+ X 2(n-1)X0”的值取“真”还是取“假”视X的

14、当时值而确定。 45逻辑代数(布尔Boole代数) 是指以代数形式研究逻辑变量及其之间关系的性质和应用的科学。实际上是一种符号逻辑,所表达和演算的是事物内部的逻辑关系。逻辑常量逻辑常量和逻辑变量逻辑变量也分别称为布尔常量布尔常量和布尔变量布尔变量。 最基本的布尔运算有三种:逻辑非、逻辑与、逻辑或运算。其他运算可以用这三种基本运算表示。 逻辑非逻辑非 即逻辑否定,运算规则为: =1 , =001逻辑与逻辑与 即逻辑乘,用“”(读作“并且”或“与”)表示逻辑与运算。运算规则为: 00=0 01=0 10=011=1 有时也用“”(甚至省略)、“”或“AND”作为逻辑与的运算符,写成AB、 AB或A

15、 AND B。 46逻辑或逻辑或 即逻辑加。通常用“”(读作“或”)表示逻辑或运算。运算规则为: 00=0 01=1 10=1 11=1有时也用“+”或“OR”作为逻辑或的运算符,写成A+B或A OR B。 逻辑异或逻辑异或 运算表示为 AB。异或运算可以用基本逻辑运算表示:AB = A+B异或运算的规律是:00=0 01=1 10=1 11=0有时也用“XOR”(Exclusive OR)作为异或的运算符,写成A XOR B。 47逻辑常量、逻辑变量、逻辑运算符、括号等适当地连接起来构成的表达式称为逻辑表达式逻辑表达式(或称为布尔表达式布尔表达式)。例如A+BC,A+ 等都是逻辑表达式,这里的A、B、C 都是逻辑变量。在逻辑表达式中,规定逻辑运算的优先级按括号,逻辑非,

温馨提示

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

评论

0/150

提交评论