定点加减法

2023-10-22 09:10
文章标签 定点 加减法

本文主要是介绍定点加减法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 

一、原码加减法

二、补码的加减运算

1、补码加法

2、补码减法

 3、补码加减运算规则

4、符号扩展


定点数的加法和减法包括原码、补码和反码3种带符号数的加减运算,其中补码加减运算实现起来最方便。

一、原码加减法

对两个数进行加减运算时,计算机的实际操作时加还是减,不仅取决于指令的操作码,还取决于两个操作数的符号。

当原码加减运算时,符号位不参加运算,只有两数绝对值参加运算。

首先要判断参加运算的两个操作符的符号,再根据要求决定进行相加还是相减操作,最后还要根据两个操作数绝对值大小决定结果的符号,整个过程时比较复杂的。

在加计算机中,通常只设置加法器而不设置减法器,减法运算将转换为加法运算来实现。

原码加减的运算规则如下:(计算机算法,将符号位也一并考虑)

(1)参加运算的操作符取其绝对值

(2)若做加法运算,则将两数直接相加;若做减法运算,则将减数先变一次补,再进行加法操作

(3)运算之后,可能有两种请情况

  • 有进位,结果为正,即得到正确的结果
  • 五无进位,结果未负,则应再变一次补,才能得到正确的结果

(4)结果把符号位加上

通常,把运算之前的变补称为前变补,运算之后的变补称为后变补

变补是指有的二进制数各位(包括符号位)变反后最低为加一

二、补码的加减运算

补码的加减运算要比原码的加减运算要简单些。

1、补码加法

两个补码表示的数相加,符号位参与运算,且两数和的补码等于两数的补码之和,即:

\left [ X+Y \right ]_{Complement}=\left [ X \right ]_{Complement}+\left [ Y \right ]_{Complement}

         两个机器数相加的补码可以先通过分别对两个机器数求补码,然后再相加得到,在采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,导致了益出,则直接舍弃),结果为两数之和的补码形式

【例】:求两个十进制数的和 35+(-18)。(用8位来表示)
35的原码:0010 0011。
-18的原码:1001 0010。
     因为35是正数,补码与原码完全一致,但是-18是负数,补码需要转换。
35的补码:00100011。
-18的补码:由原码除符号位外取反,再在最低位+1,得到结果是11101110。

这时都是补码,运算规则等同于无符号二进制加法。

  00100011

  11101110

100010001-

--因为前面规定了字长是8位,这里出现了9位, 所以最高位舍弃

舍弃后,结果为00010001, 转换成十进制是:17。结果正确!(超出字长部分直接舍弃)

2、补码减法

[X-Y]_{Complement}=[X+(-Y)_{Complement}]=[X]_{Complement}+[-Y]_{Complement}

即,补码的减法也可以借用加法器来实现

[-Y]_{Complement}=[[Y]_{Complement}]_{Patch}

[-Y]_{Complement}称为[Y]_{Complement}机器负数,由[Y]_{Complement}[-Y]_{Complement}的过程称为对[Y]_{Complement}变补(求补)。

注意:区分 “某数的补码”、“变补”

  • 一个负数由原码表示转换成补码表示时,符号位是不变的,仅对数值位各位变反,末位加“1”
  • 变补,不论该数是正还是负,一律连同符号位一起一起变反(所有二进制位一起变反),末位加“1”.
  • Y的补码表示的真值如果是正数,则变补后的Y所表示的真值变为负数,反之亦然

 3、补码加减运算规则

补码加减运算规则如下:

(1)参加运算的两个操作数均用补码表示

(2)符号位作为数的一部分参加运算

(3)若做加法运算,则两数直接相加;若做减法运算,则将被减数与减数的机器负数相加

(4)运算结果仍用补码表示

4、符号扩展

在计算机算数运算中,有时必须将采用给定位数表示的数转换成具有更多位数的某种表示形式。

例如,某个程序需要将一个8位数与另一个32位数相加,想要得到正确的结果,在进行运算之前,需要把8位数转换成32位形式,这个过程就成为“符号扩展”。

  • 对于正数的符号扩展,原有形式的符号位移动到新形式的符号位上,表示形式的所有附加位都用“0”进行填充
  • 对于负数的符号扩展,原码表示负数的符号扩展与正数相同,但此时的符号位为“1”;补码表示负数的符号扩展:原有形式的符号为移动到新形式的符号位上,新表示形式的所有附加位都用“1”进行填充

这篇关于定点加减法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260484

相关文章

XILINX FPGA实现定点转浮点

(1)小数的表达 参考: https://www.cnblogs.com/woshitianma/archive/2013/05/19/3087258.html x表示实际的数(*一个浮点数), q表示它的Qn型定点小数(一个整数)。 q = (int) (x * 2^n) x = (float)q/2^n   以Q12为例: 假设定点小数用16位二进制表达,最高位是符号位,那么有

5.11 飞行控制——定点飞行

文章目录 5.11 飞行控制——定点飞行5.11.1 加入三轴位置的飞行硬件系统 FLY(s)5.11.2 数学模型——三轴位置系统(1)x、y轴位置系统的微分方程(2)z轴位置系统的微分方程(3)三轴位置系统的状态空间方程 5.11.2 A1软件设计5.11.3 A1运行与调试5.11.4 三轴位置串级PID控制器5.11.5 A2软件设计5.11.6 A2运行与调试5.11.7 期望误差

非定点拦截

许多公司需要找专业市场调查公司合作,当然找一家有经验的市场调查执行机构也是相当重要的。开元捷问,成立于2008年,是开元研究旗下专业市场调查执行机构。非定点拦截是开元捷问调查服务项目之一。 非定点拦截 非定点拦截非定点街访指的是没有固定的访问场地,由访问员在街头随机拦截被访者进行访问的一种访问形式。由于“非定点街访”不像“定点街访”有固定的访问场地;没有“拦截区”、“甄别区”、“产品区”、“访

非定点街头拦截访问前准备

非定点街访指的是没有固定的访问场地,由访问员在街头随机拦截被访者进行访问的一种访问形式。由于“非定点街访”不像“定点街访”有固定的访问场地;没有 “拦截区”、“甄别区”、“产品区”、“访问区”等严格的场地划分;访问员一身兼三职,集“拦截员”、“甄别员”、“访问员”的工作于一身。下面就开元捷问多年的项目执行经验,和大家分享一下非定点街头拦截服务项目中执行时如何做好访问前准备,希望能够和大家一起探讨行

非定点街坊的特点

下面就开元捷问多年的项目执行经验,和大家分享一下非定点街访这一调查方式的主要经验,希望能够和大家一起探讨行业知识,促进共同进步。 非定点街访指的是没有固定的访问场地,由访问员在街头随机拦截被访者进行访问的一种访问形式。由于“非定点街访”不像“定点街访”有固定的访问场地;没有“拦截区”、“甄别区”、“产品区”、“访问区”等严格的场地划分;访问员一身兼三职,集“拦截员”、“甄别员”、“访问员”的工作

不定点街坊访问

市场上许多公司需要找专业市场调查公司或市场调查执行机构合作,北京开元捷问信息科技有限公司(开元捷问)成立于2008年,是开元研究旗下专业市场调查执行机构。依托于开元研究自2002年成立以来在市场调研领域积累的丰富调研经验,建立并形成了遍布全国的市场调查执行网络,拥有能同时在几十个城市进行调查服务的强大团队。不定点街坊是开元捷问调查服务项目之一。 综述 不定点街访指的是没有固定的访问场地,由

市场调查执行机构-定点访问

市场调查执行公司许多,但是国内大的、专业的市场调查公司倒是有一家-开元捷问。北京开元捷问信息科技有限公司(开元捷问)成立于2008年,是开元研究旗下专业市场调查执行机构。依托于开元研究自2002年成立以来在市场调研领域积累的丰富调研经验,建立并形成了遍布全国的市场调查执行网络,拥有能同时在几十个城市进行调查服务的强大团队。 定点访问 根据研究目的和被访者特点,在特定区域(可能是商业区、街道

定点访问拦截约人控制

许多公司需要找专业市场调查公司合作,当然找一家有经验的市场调查执行机构也是相当重要的。开元捷问,成立于2008年,是开元研究旗下专业市场调查执行机构。以下则是开元捷问在定向访问执行项目中拦截约人控制一环节的一些工作总结。 负责拦截/甄别的质控督导,应做好拦截/甄别质量控制工作:  (1)给拦截员划定固定拦截范围,应该在督导的视线范围内;  (2)拦截点现场巡视;  (3)监督检查约人的质量

包装、货架测试项目定点访问现场要求

国内比较知名的市场调查执行机构有许多,知名度最高的还数开元捷问(成立于2008年,是开元研究旗下专业市场调查执行机构),提供最专业的市场调研执行服务。以下则是开元捷问在定向访问执行项目中-包装、货架测试项目中定点访问现场具体要求。 (1)测试室的光线必须充足、良好,如果不同组别在不同测试室进行,要确保各室光线条件一致;  (2)对于包装/货架测试,为了准确感知颜色,需用白色作背景颜色;  (

计算机组成原理之定点运算器的组成

文章目录 定点运算器的组成逻辑运算ALU两级先行进位的ALU 总线单总线结构双总线结构三总线结构 定点运算器的组成 逻辑运算 总的来说,逻辑非运算就是按位取反;逻辑加运算就是按位取或运算;逻辑乘运算就是按位取和运算;逻辑异运算就是按位取异或运算 ALU 两级先行进位的ALU 总的来说,一个ALU是4位的 ,并且ALU本身是