当前位置:文档之家› 第三章 计算机的运算方法

第三章 计算机的运算方法


1.求X+Y: (1)将X=-0.1010,Y= -0.0010转换成补码.
[X]补=1.0110 [Y]补=1.1110 1.0110
产生进 位,将进 位去掉
(2)求[X+Y]补
[X+Y]补=[X]补+[Y]补 =1.0110+1.1110 =1.0100 (3)求[X+Y]原
+1.1110
11.0100
3.1 数据的表示方法和转换 3.2 带符号数在计算机中的表示方法及运算(重点) 3.3 数据校验码(重点)
3.1 数据的表示方法和转换
一.十进制,二进制,八进制,十六进制的功能及特点.
1.十进制数是人们最习惯使用的数值,在计算机中一 般把十进制数作为输入输出的数据形式。 特点: 用十个数码表示——0、1、2、3、4、5、6、7、8、9 遵循“逢十进一”的规 则 2.二进制数使用的数码少,只有0和1, 在计算机内部存 储和运算中使用,也表示计算机元件的状态,运算简 单,工作可靠。 特点: 用两个数码表示——0、1 遵循“逢二进一”的规
要求 数1 数2 实际操作 结果符号
加法 加法 加法 加法
正 正 负 负
正 负 正 负
加 减
正 可正可负


可正可负

在计算机中正+正/负+负结果符号位很好确定, 但正+负/负+正结果符号位很难确定 ,容易出错。 计算机将原码转换成反码或补码进行计算.
3. 反码表示法
(1) 形式:正数的反码与原码相同,负数的反码为其原码 的符号位不变,其余各位按位变反,即0变为1,1变为0
写成(DCD)16,且与二进制转换方便,因此十六进制数 常用来在程序中表示二进制数或地址。
特点: 用十六个数码表示——0、1、2、3、4、5、6、7、 8、9、A、B、C、D、E、F 遵循“逢十六进一”的规 则
2
二.各进制之间的转换.(略) 三.各进制的加减运算.(略)
(1) (100101)2+(101101)2= (1010010)2

253 254 255
… …
+127 -0 -1
-125 -126 -127
… …

+127 -128 -127
-3 -2 -1

+127 -127 -126
-2 -1 -0


采用变形码计算好处:既能判断是否有溢出,又能判断结果的符号 位。 符号位 含义解读 00 无溢出,结果符号为正 01 正溢出,结果真正符号为正(正数+正数) 10 11 负溢出,结果真正符号为负(负数+负数) 无溢出,结果真正符号位为负数
无符号数的表数范围: 8 位
16 位
0 ~ 65535
二、有符号数(机器数)P19
1. 机器数与真值
真值
带正负号的数
机器数
符号数字化的数
+ 0.1011 – 0.1011 + 1100
0 1011
小数点的位置
1 1011
小数点的位置
0 1100
小数点的位置
– 1100
1 1100
小数点的位置
2. 原码表示法 (1) 形式 一个数,其符号用0或1进行编码,叫原码.用0表示+, 用1表示 如 x = +1110
如: 真值
+1001 -1001 +0.1101 -0.1101 [+0]反=00000 原码 01001 11001 0.1101 1.1101 [-0]反=11111 反码 01001 10110 0.1101 1.0010
(2)反码的运算
规则:1.反码运算时,其符号位与数值一起参加运算.
2.反码的符号位相加后如果有进位出现,则需把 它送到最低位去相加.
小数 0.1011 形式 整数 -1100 0 1011
小数点的位置
1 1100
小数点的位置
2.浮点数
(1)概念:小数点位置可以浮动的数据 (2)形式:N=M×RE 阶码
尾数 基数
科学计数法的表 达方式
(3)举例:
N1=3.14159(D)=0.314159×101=0.0314159×102
N2=0.011(B)=0.11×2-1=0.00011×22
1.0110
+0.0010
1.1000
5.移码. (1).移码的形式 用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小 无论正数还是负数,移码与补码的数字位相同,符号位相反.
例4
已知:X=-0.0011011 ,求[X]移
分析:将其转换成补码,再转换成移码. X =-0.0011011 =[1.0011011]原 [+0]移=[-0]移=10000
第三章 计算机的运算方法
内容简介:本章主要介绍了计算机中数据的表示方法及 相互的转换过程, 带符号数的表示方法和运算,计算机数 据在传输过程中出错时采取的措施---数据校验的过程.
学习目标:1.熟悉并掌握计算机中数据的表示方法,相互转 换和相关运算. 2.理解数据校验的相关概念,掌握其校验的方法.
内容 提要
11010 0.1001
1.1001
[+0]补=[-0]补=00000
(2)补码的运算 规则:1.其符号位与数值部分一起参加运算 2.补码的符号位相加后如果有进位出现,则需把这 个进位舍去. 3.补码的运算形式: [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补
例2
已知:X=-0.1010,Y= -0.0010,求X+Y和X-Y(用补码运算完成)
(4)浮点数在计算机中的格式:
Ef E S M
阶码符号位
阶码
尾数符号位尾数移源自表示原码表示按照IEEE754标准,对上面格式进行简化: (阶符采用隐含式,包括阶码符号位和阶码) S(1位) E(1+7位) M(23位)
根据IEEE754标准,常用的浮点数有两种格式: 1.单精度浮点数共32位,阶码8位(内含1位符号位), 尾数24位(其中1位符号位提到最前面) 2.双精度浮点数共64位,阶码11位(内含1位符号位), 尾数53位(其中1位符号位提到最前面) 例题1 按单精度浮点数,阶符隐含式格式表示 N=-0.01101×23B 1 1 0000011 01101
2.可以将两数转换成反码相加,结果再转换 成真值.
(1)将X=0.1011,Y= -0.0100转换成反码.
[X]反=0.1011 [Y]反=1.1011 (2)求[X+Y]反 [X+Y]反=[X]反+[Y]反 =0.1011+1.1011 =0.0111 (3)求[X+Y]原
产生进位, 将其送到 最低位相 加
加6(0110)进行 修正
8
3
3.2 带符号数在计算机中的表示方法及运算
一.概述
计算机中参 与运算的数 注 意 无符号数(正整数) 有符号数 存放于寄存 器中
无符号数在寄存器中的每一位均可用来存 放数值,当存放有符号数时,则需留出位置 存放符号,在机器字长相同时,无符号数和 有符号数的表数范围是不同的. 0 ~ 255
3.反码的运算形式:
[X+Y]反=[X]反+[Y]反
例1
[X-Y]反=[X]反+[-Y]反
已知:X=+0.1011,Y= -0.0100,求X+Y 分析:1.题目中给出的两个数均为真值,且分别是 正数和负数,在计算机中真值均被转换成其他码 制计算. 思考:能否将X,Y转换成原码,直接相加?为什么?
不能,因为原码中正数和负数相加符号位不能确定
(1)1 + 8= 9 0001
大于1001 需修正
(2)4+9= 13 0100
+1000
1001
+1001
1101 + 0110 10011
加6(0110)进 行修正
进位 不需修正
0001 0011
(3)(28)D+(55)D= (83)D 0010 + 0101 0111 + 1000 1000 1000 0101 1101 0110 0011 0011
0.1011 +1.1011 10.0110 + 1 0.0111
结果为正数,反码形式与原码形式相同. [X+Y]原=0.0111
则X+Y=+0.0111
4. 补码表示法 (1) 补码的形式 正数的补码与原码相同,负数的补码为其反码的末位 加一可得
真值 +1010 -1010 +0.1001 -0.1001 原码 01010 反码 01010 10101 0.1001 1.0110 补码 01010 10110 0.1001 1.0111
x = 1110
x = + 0.1101 [x]原 = 01110
[x]原 = 11110
[x]原 = 0 . 1101
x = 0.1101
[+0]原=00000
[x]原 = 1.1101
[-0]原=10000
简单、直观 (2)原码的优点: 缺点:进行加减法运算时,比较复杂. 用原码做加法时,会出现如下问题:
[x]移= 10101
[y]补= 00110 [-y]补= 11010 [x+y]移=[x]移+[y]补= 10101+00110= 11011
[x-y]移=[x]移+[-y]补=10101+11010= 01111(溢出)
注意
相关主题