浮点数尾数运算 < ---- > 原码加/减运算
原码:+|x| 或者 -|x| (正数=0+|x| 负数的=1+|x| )
符号位和数值部分:分开处理
仅对【数值部分】进行加减运算,符号位起判断和控制作用
规则如下:
•比较两数符号,对加法实行“同号求和,异号求差”,对减法实行“异号求和,同号求差”。
•求和:数值位相加,和的符号取被加数(被减数)的符号。若最高位产生进位,则结果溢出。
•求差:被加数(被减数)与加数(减数)求补相加。
a)最高数值位产生进位表明加法结果为正,所得数值位正确。
b)最高数值位没产生进位表明加法结果为负,得到的是数值位的补码形式,需对结果求补,还原为绝对值形式的数值位。
•差的符号位:a)情况下,符号位取被加数(被减数)的符号;
b)情况下,符号位为被加数(被减数)的符号取反。
举个栗子:~
例1:已知 [X]原 = 1.0011,[Y]原 = 1.1010,要求计算[X+Y]原
解:由原码加减运算规则知:同号相加,则求和,和的符号同被加数符号。
所以:和的数值位为:0011 + 1010 = 1101 (ALU中无符号数相加)
和的符号位为:1
[X+Y]原 = 1.1101 求和:直接加,有进位则溢

本文介绍了浮点数的加减运算,包括尾数的原码加减和阶码的移码运算。针对尾数,讲解了原码加减规则,如同号求和、异号求差,并通过实例演示计算过程。对于阶码,说明了移码加减相当于补码运算,给出了加减运算的具体步骤和溢出判断条件。
&spm=1001.2101.3001.5002&articleId=94753327&d=1&t=3&u=5198ba63f1e44762963efde675c5707a)
827

被折叠的 条评论
为什么被折叠?



