CN112350716A - 一种补码运算方法及装置、补码运算装置的运算方法 - Google Patents
一种补码运算方法及装置、补码运算装置的运算方法 Download PDFInfo
- Publication number
- CN112350716A CN112350716A CN202011353090.4A CN202011353090A CN112350716A CN 112350716 A CN112350716 A CN 112350716A CN 202011353090 A CN202011353090 A CN 202011353090A CN 112350716 A CN112350716 A CN 112350716A
- Authority
- CN
- China
- Prior art keywords
- sign bit
- bit
- input
- gate
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明涉及一种补码运算方法,当所述原码为负数时,按照从最低位到最高位的顺序找到原码中的第一个“1”;保持所述第一个“1”以及它后面的“0”比特位和原码的符号位的比特位不变,对所述第一个“1”和所述符号位之间的比特位按位取反,得到补码。本发明还涉及一种补码运算装置,该补码运算装置仅由与门、或门以及异或门这种简单的逻辑门构成,与传统的补码运算器的方法相比,电路简单,降低了功耗,加快了补码的运算速度。
Description
技术领域
本发明涉及数字电路领域,特别是涉及一种补码运算方法及装置、补码运算装置的运算方法。
背景技术
码制转换是数字电路基础学习中的一个重要内容,并且计算机中常采用补码表示有符号数,由于有在异号相加的情形下,补码表示可以将减法变成加法,而且符号位连同数值位一起参与运算,运算结果也不需要进行任何后续处理,因此采用补码进行运算会使计算变得简单,这样,在许多运算中必不可少的用到求补操作,并且在乘法器、算数运算单元等运算器中有广泛的应用。
通常,传统的补码求法是:正数的原码、反码和补码是相同的,负数的补码求法是符号位不变,其他位取反加1,传统求补电路由反相器、多路选择器以及加法器组成,电路较复杂,耗费的资源多,速度较慢,因此急需一种补码的速算方法和基于该方法的、电路简单计算速度快的补码的运算装置。
发明内容
本发明的目的是提供一种补码运算方法及装置、补码运算装置的运算方法,根据补码运算方法设置的补码运算装置,该装置通过与门、或门以及异或门这种简单的逻辑门构成,电路简单,降低了功耗,且通过该补码运算装置进行补码运算的方法加快了补码的运算速度。
为实现上述目的,本发明提供了如下方案:
一种补码运算方法,所述方法包括:
判断原码是正数还是负数,当所述原码为负数时,按照从最低位到最高位的顺序找到原码中的第一个“1”;
保持所述第一个“1”及它后面的“0”比特位和原码的符号位不变,对所述第一个“1”和所述符号位之间的比特位按位取反,得到补码。
第一个所述进位信号连接到第一个与或门中或门的输入端和第一个异或门的输入端,第k个与或门的输出端连接到第k+1个所述与或门的或门的输入端和第k+1个所述异或门的输入端,其中,k=1,2,...,n-1,第k个与或门的输出信号为第k+1个进位信号,第k个输入数值位连接到第k个与或门中与门的输入端和第k个所述异或门的输入端,第k个所述异或门的输出端连接第k个所述输出数值位,所述第n个进位信号即第n-1个与或门的输出端与所述输入符号位和所述输出符号位设置于同一位置。
所述输入数值位为原码的数值位,所述输出数值位为与所述原码对应的补码的数值位,所述输入符号位为原码的符号位,所述输出符号位为与所述原码对应的补码的符号位。
所述选择信号sel由所述输入符号位确定。
当所述输入符号位为1时,所述选择信号sel为1;当所述输入符号为0时,所述选择信号sel为0。
所述第一个进位信号为0。
一种补码运算装置的运算方法,所述方法包括:
获取原码的数值位和符号位;
根据所述原码的符号位确定输入符号位和选择信号sel;
将所述原码的数值位输入到补码运算装置的输入数值位,所述原码的数值位与所述输入数值位一一对应,根据所述输入数值位、所述选择信号sel和第一个进位信号得到输出数值位;
根据所述输入符号位确定输出符号位;
根据所述输出数值位和所述输出符号位确定原码的补码。
所述根据所述原码的符号位确定输入符号位和选择信号sel具体包括:当所述原码的符号位为0时,所述输入符号位为0,所述选择信号sel为0;当所述原码的符号位为1时,所述输入符号位为1,所述选择信号sel为1。
所述第一个进位信号为0。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
1、本发明所提出的补码运算方法不同于以往的运算方法,为补码运算提供了一种新思路。
2、传统的补码运算装置由反相器、多路选择器和加法器组成,运算复杂、电路结构复杂,速度较慢,本发明针对传统补码运算装置的这些缺陷提出了一种新的补码运算装置,由于本发明的补码运算装置仅由异或门和与或门这种逻辑门组成,具有运算方法简单、电路结构简单、功耗低等优点,且采用本发明的补码运算装置进行补码运算时能够达到提高运算速度的效果。
3、本发明提供的补码运算装置可运用于乘法器、ALU等运算单元中,加快运算的速度,降低功耗,简化运算电路。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种补码运算方法流程图;
图2为本发明实施例二提供的一种补码运算装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种补码运算方法及装置、补码运算装置的运算方法,根据补码运算方法设置的补码运算装置,该装置通过与门、或门以及异或门这种简单的逻辑门构成,电路简单,降低了功耗,且通过该补码运算装置进行补码运算的方法加快了补码的运算速度。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
通常,在加法器中,一个操作数可为正数也可为负数,若操作数为负数,则需要对该操作数进行补码运算,本发明提出一种电路可以快速完成这一运算要求。
实施例一:
本实施例基于传统的补码运算方法:正数的原码、反码和补码是相同的,负数的补码求法是符号位不变,其他位取反加1,提出一种新的补码运算方法。
如图1所示,本实施例示出的一种补码运算方法包括:
判断原码是正数还是负数,当所述原码为正数时,补码与所述原码相同;当所述原码为负数时,按照从最低位到最高位的顺序找到原码中的第一个“1”;
保持所述第一个“1”及它后面的“0”比特位和原码的符号位不变,对所述第一个“1”和所述符号位之间的比特位按位取反,得到补码。
实施例二:
本实施例是基于实施例一提供的一种新补码运算方法,提出一种快速将有符号二进制数转换为补码表示的运算装置。
第一个所述进位信号连接到第一个与或门中或门的输入端和第一个异或门的输入端,第k个与或门的输出端连接到第k+1个所述与或门的或门的输入端和第k+1个所述异或门的输入端,其中,k=1,2,...,n-1,第k个与或门的输出信号为第k+1个进位信号,第k个输入数值位连接到第k个与或门中与门的输入端和第k个所述异或门的输入端,第k个所述异或门的输出端连接第k个所述输出数值位,所述第n个进位信号即第n-1个与或门的输出端与所述输入符号位和所述输出符号位设置于同一位置。
其中,所述输入数值位为原码的数值位,所述输出数值位为与所述原码对应的补码的数值位,所述输入符号位为原码的符号位,所述输出符号位为与所述原码对应的补码的符号位。
所述选择信号sel由所述输入符号位确定,所述输入符号位由原码的正负确定,当原码为负数时,所述输入符号位为1,所述选择信号sel为1;当原码为负数时,所述输入符号为0,所述选择信号sel为0。
本实施例针对传统的补码运算装置存在的运算复杂、电路结构复杂,速度较慢等缺陷提出了补码运算装置,由于它仅由异或门和与或门这种逻辑门组成,具有运算方法简单、电路结构简单、速度快和功耗低等优点。
实施例三、
本实施例示出的一种补码运算方法包括:
获取原码的数值位和符号位;
根据所述原码的符号位确定输入符号位和选择信号sel;
将所述原码的数值位输入到补码运算装置的输入数值位,所述原码的数值位与所述输入数值位一一对应,根据所述输入数值位、所述选择信号sel和第一个进位信号得到输出数值位;
根据所述输入符号位确定输出符号位;
根据所述输出数值位和所述输出符号位确定原码的补码。
作为一种可选的实施方式,当所述原码的符号位为0时,所述输入符号位为0,所述选择信号sel为0;当所述原码的符号位为1时,所述输入符号位为1,所述选择信号sel为1。
所述第一个进位信号为0。
为了便于本领域技术人员更加清楚的理解本发明所提供的补码运算装置及该运算装置的运算方法,在此进行举例,对采用本运算装置进行补码运算的方法具体说明。
以8位的有符号数1000_1100为例,若采用传统的运算方法,它的运算过程为:(1)符号位不变,其他位按位取反得到结果“1111_0011”(2)取反得到的结果加“1”,得到最后的补码“1111_0100”。
对于本发明提出的补码运算装置,若为8位的补码运算装置,则本例中的n=8,其运算过程为:
(1)输入数值位(A6A5A4A3A2A1A0)上输入000_1100,由于此数符号位为1,则此数为负数,设置选择信号sel=1,Co0信号置为0。
(2)第一个输入数值位A0=0信号输入后,由于第一个异或门S0=A0⊕Co0(此时S0=0⊕0),则第一个输出数值位S0=0,第2个进位信号(即第1个与或门的输出信号)Co1=Co0+sel&A0(此时Co1=0+1&0),则输出Co1=0。
(3)此时第二个进位信号Co1=0,A1=0,S1=A1⊕Co1(此时S1=0⊕0=0),Co2=Co1+sel&A1(此时Co2=0+1&0=0)。
(4)此时第三个进位信号Co2=0,A2=1,S2=A2⊕Co2(此时S2=1⊕0=1),Co3=Co2+sel&A2(此时Co3=0+1&1=1)。
(5)此时第四个进位信号Co3=1,A3=1,S3=A3⊕Co3(此时S3=1⊕1=0),Co4=Co3+sel&A3(此时Co4=1+1&1=1)。
(6)此时第五个进位信号Co4=1,A4=0,S4=A4⊕Co4(此时S4=0⊕1=1),Co5=Co4+sel&A4(此时Co5=1+1&0=1)。
(7)此时第六个进位信号Co5=1,A5=0,S5=A5⊕Co5(此时S5=0⊕1=1),Co6=Co5+sel&A5(此时Co6=1+1&0=1)。
(8)此时第七个进位信号Co6=1,A6=0,S6=A6⊕Co6(此时S6=0⊕1=1),Co7=Co6+sel&A6(此时Co7=1+1&0=1),S7=A7=Co7=1。
(9)由上述步骤可知,S7S6S5S4S3S2S1S0=1111_0100,此数即为补码。
本发明针对传统的补码运算装置存在的运算复杂、电路结构复杂,速度较慢等缺陷提出了补码运算装置,由于它仅由异或门和与或门这种逻辑门组成,具有运算方法简单、电路结构简单、速度快和功耗低等优点。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种补码运算方法,其特征在于,所述方法包括:
判断原码是正数还是负数,当所述原码为负数时,按照从最低位到最高位的顺序找到原码中的第一个“1”;
保持所述第一个“1”和原码的符号位的比特位不变,对所述第一个“1”和所述符号位之间的比特位按位取反,得到补码。
第一个所述进位信号连接到第一个与或门中或门的输入端和第一个异或门的输入端,第k个与或门的输出端连接到第k+1个所述与或门的或门的输入端和第k+1个所述异或门的输入端,其中,k=1,2,...,n-1,第k个与或门的输出信号为第k+1个进位信号,第k个输入数值位连接到第k个与或门中与门的输入端和第k个所述异或门的输入端,第k个所述异或门的输出端连接第k个所述输出数值位,所述第n个进位信号与所述输入符号位和所述输出符号位设置于同一位置。
3.根据权利要求2所述的补码运算装置,其特征在于,所述输入数值位为原码的数值位,所述输出数值位为与所述原码对应的补码的数值位,所述输入符号位为原码的符号位,所述输出符号位为与所述原码对应的补码的符号位。
4.根据权利要求2所述的补码运算装置,其特征在于,所述选择信号sel由所述输入符号位确定。
5.根据权利要求4所述的补码运算装置,其特征在于,当所述输入符号位为1时,所述选择信号sel为1;当所述输入符号为0时,所述选择信号sel为0。
6.根据权利要求2所述的补码运算装置,其特征在于,所述第一个进位信号为0。
7.一种如权利要求2所述的补码运算装置的运算方法,其特征在于,所述方法包括:
获取原码的数值位和符号位;
根据所述原码的符号位确定输入符号位和选择信号sel;
将所述原码的数值位输入到补码运算装置的输入数值位,所述原码的数值位与所述输入数值位一一对应,根据所述输入数值位、所述选择信号sel和第一个进位信号得到输出数值位;
根据所述输入符号位确定输出符号位;
根据所述输出数值位和所述输出符号位确定原码的补码。
8.根据权利要求7所述的运算方法,其特征在于,所述根据所述原码的符号位确定输入符号位和选择信号sel具体包括:当所述原码的符号位为0时,所述输入符号位为0,所述选择信号sel为0;当所述原码的符号位为1时,所述输入符号位为1,所述选择信号sel为1。
9.根据权利要求7所述的运算方法,其特征在于,所述第一个进位信号为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011353090.4A CN112350716B (zh) | 2020-11-27 | 2020-11-27 | 一种补码运算方法及装置、补码运算装置的运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011353090.4A CN112350716B (zh) | 2020-11-27 | 2020-11-27 | 一种补码运算方法及装置、补码运算装置的运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112350716A true CN112350716A (zh) | 2021-02-09 |
CN112350716B CN112350716B (zh) | 2023-08-04 |
Family
ID=74365021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011353090.4A Active CN112350716B (zh) | 2020-11-27 | 2020-11-27 | 一种补码运算方法及装置、补码运算装置的运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350716B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809041A (zh) * | 2022-12-30 | 2023-03-17 | 中科南京智能技术研究院 | 一种可配置的补码运算装置及计算设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020186651A1 (en) * | 1998-04-08 | 2002-12-12 | Nee D. J. Richard Van | M-ary orthogonal keying system |
US20040086028A1 (en) * | 2002-10-31 | 2004-05-06 | Advanced Micro Devices, Inc. | DSSS and CCK baseband decoding device and method |
CN101819513A (zh) * | 2010-02-11 | 2010-09-01 | 华南理工大学 | 一种由补码求原码绝对值的方法 |
CN102739589A (zh) * | 2011-04-08 | 2012-10-17 | 中国科学院微电子研究所 | 一种用于无线局域网通信系统的补码键控调制装置及方法 |
CN103955585A (zh) * | 2014-05-13 | 2014-07-30 | 复旦大学 | 一种适用于低功耗容错电路的fir滤波器结构 |
CN104202053A (zh) * | 2014-07-17 | 2014-12-10 | 南京航空航天大学 | 一种快速n位原码到补码的转换装置和转换方法 |
CN106940638A (zh) * | 2017-03-10 | 2017-07-11 | 南京大学 | 一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构 |
CN107256306A (zh) * | 2017-06-09 | 2017-10-17 | 大连大学 | 基于两域链置换的四位取补器的设计方法 |
-
2020
- 2020-11-27 CN CN202011353090.4A patent/CN112350716B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020186651A1 (en) * | 1998-04-08 | 2002-12-12 | Nee D. J. Richard Van | M-ary orthogonal keying system |
US20040086028A1 (en) * | 2002-10-31 | 2004-05-06 | Advanced Micro Devices, Inc. | DSSS and CCK baseband decoding device and method |
CN101819513A (zh) * | 2010-02-11 | 2010-09-01 | 华南理工大学 | 一种由补码求原码绝对值的方法 |
CN102739589A (zh) * | 2011-04-08 | 2012-10-17 | 中国科学院微电子研究所 | 一种用于无线局域网通信系统的补码键控调制装置及方法 |
CN103955585A (zh) * | 2014-05-13 | 2014-07-30 | 复旦大学 | 一种适用于低功耗容错电路的fir滤波器结构 |
CN104202053A (zh) * | 2014-07-17 | 2014-12-10 | 南京航空航天大学 | 一种快速n位原码到补码的转换装置和转换方法 |
CN106940638A (zh) * | 2017-03-10 | 2017-07-11 | 南京大学 | 一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构 |
CN107256306A (zh) * | 2017-06-09 | 2017-10-17 | 大连大学 | 基于两域链置换的四位取补器的设计方法 |
Non-Patent Citations (2)
Title |
---|
"C语言基础 原码、反码、补码和移码详解", pages 1, Retrieved from the Internet <URL:https://www.xiuzhanwang.com/a1/m/view.php?aid=1797> * |
赵煜;马萌;: "原码、反码、补码小程序的设计与实现", 计算机与网络, no. 13, pages 216 - 220 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809041A (zh) * | 2022-12-30 | 2023-03-17 | 中科南京智能技术研究院 | 一种可配置的补码运算装置及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112350716B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3800130A (en) | Fast fourier transform stage using floating point numbers | |
CN111538473B (zh) | 一种Posit浮点数处理器 | |
RU2408057C2 (ru) | Умножитель с фиксированной точкой с предварительным насыщением | |
JPH05224883A (ja) | 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム | |
CN112350716B (zh) | 一种补码运算方法及装置、补码运算装置的运算方法 | |
CN113268219B (zh) | 一种带二进制补码转换的加法器电路 | |
Khan et al. | Design of 2× 2 vedic multiplier using GDI technique | |
CN113672196B (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
CN112181355B (zh) | 一种移位饱和处理方法及其应用 | |
CN104202053B (zh) | 一种快速n位原码到补码的转换装置和转换方法 | |
JPH09114641A (ja) | 最上位デジットを決定するための装置と方法 | |
CN112230883B (zh) | 一种用于乘法器零标志位的产生电路、乘法器和检测方法 | |
CN115268832A (zh) | 浮点数取整的方法、装置以及电子设备 | |
US5777906A (en) | Left shift overflow detection | |
CN115833845B (zh) | 位置输出装置和位置输出方法 | |
CN115809041B (zh) | 一种可配置的补码运算装置及计算设备 | |
US7177893B2 (en) | High-efficiency saturating operator | |
US7240085B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
JP2002014804A (ja) | 三値ディジタル回路 | |
JPS5966790A (ja) | 演算回路 | |
KR970049455A (ko) | 홀/짝수의 1-비트 가산기 셀을 구비하는 가산기 | |
KR100259095B1 (ko) | 정규화 기능을 갖는 가산기 | |
Liu et al. | A Fast Two’s Complement Generator | |
US20040167949A1 (en) | Data saturation manager and corresponding method | |
US9836278B2 (en) | Floating point computation apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 5 / F, building 1, Qilin artificial intelligence Industrial Park, 266 Chuangyan Road, Jiangning District, Nanjing City, Jiangsu Province Applicant after: Zhongke Nanjing Intelligent Technology Research Institute Address before: 5 / F, building 1, Qilin artificial intelligence Industrial Park, 266 Chuangyan Road, Jiangning District, Nanjing City, Jiangsu Province Applicant before: Nanjing Institute of intelligent technology, Institute of microelectronics, Chinese Academy of Sciences |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |