机器数的运算
被考次数: 5次
被考频率: 中频率
答错率:    54%
知识难度:
考试要求: 掌握     
知识路径:  > 计算机科学基础  > 算术运算和逻辑运算  > 计算机中二进制数的运算方法


本知识点历年真题试卷分布
>> 试题列表    
 

 
       机器数的加减运算
       在计算机中,通常只设置加法器,减法运算要转换为加法运算来实现。机器数的加、减法运算一般用补码来实现,其运算方法如下:
       X±Y→[X+[±Y
       例如(采用8位定点整数):
       
       运算结果中的后8位的真值为+3,是正确的。
       当运算的结果超过了字长的表示范围时,则产生溢出。双符号位方法是常用的溢出判别方法。在CPU中的加法器前设1位寄存器S0,运算时接收来自最高位(符号位S)的进位。运算前S0S被设为一操作数的符号,运算后对其进行判别,则有以下逻辑关系:当运算后S0S=1,则溢出;当运算后S0S=0,无溢出。
       例如,8位定点整数的最大正数是127→(01111111)。若再加1则为10000000,按机器的表示格式,这个值被认为是-128,显然是不正确的,也就是说产生了溢出问题。下面用上述的双符号位方法完成此题的计算和判别。
       
       运算过程:
       
       因为S0S=0⊕1=1,表示运算结果溢出。
       机器数的乘除运算
       在计算机中实现乘除运算,主要有以下3种方法。
       (1)纯软件方案,乘除运算通过程序来完成。该方法速度很慢。
       (2)通过增加少量用来实现左右移位的逻辑电路来实现。
       (3)通过专用的硬件阵列乘法器(或除法器)来实现。
       浮点运算
       1)浮点加减运算
       完成浮点数加减法有5个基本步骤:对阶、尾数加减、规格化、舍入和检查溢出。
       例:两浮点数x=201×0.1101,y=211×(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,2位符号位,阶码以原码表示,求x+y
       解:xy转换成浮点数据格式
       [x=00 01, 00.1101
       [y=00 11, 11.0110
       具体的步骤如下。
       ①对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得:
       [x=00 11, 00.001101
       ②对尾数求和,得:
       [x+y=00 11, 11.100101
       ③由于符号位和第一位数相等,不是规格化数,向左规格化,得:
       [x+y=00 10, 11.001010
       ④舍入,得:
       [x+y=00 10, 11.0010
       ⑤数据无溢出,因此结果为:
       x+y=210×(-0.1110)
       2)浮点乘除运算
       浮点数相乘,其积的阶码等于两乘数的阶码之和,尾数等于两乘数的尾数之积,数符由两乘数的数符按逻辑异或求出。
       浮点数相除,其商的阶码等于被除数的阶码减去除数的阶码,尾数等于被除数的尾数除以除数的尾数,数符由两除数的数符按逻辑异或求出。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有