cpu是怎么做加法和减法的?

如题所述

计算机CPU加,减,乘,除的原理

对于计算机实现加减乘除的研究记录,如有错误还请指出

1.加法计算机的加法就如同我们的数学计算一样,只不过是进制变成了2进制,需要满2进一,如5+3,二进制表示则是

0101

0011

-----

1000

加法的实现由按位加和(异或)和进位(与)两部分组成,内部的实现就是加法器

如上所示的加法器并没考虑上一位的进位问题,因为称为半加器

如果考虑进位,则需要把进位也参与运算

这样的结构就称为全加器多个全加器组合就实现了我们计算机的加法2.减法

计算机减法其实可以转化为加法,像指针时钟一样,我们调整时间+1,可以选择顺时针增加1,或者逆时针减少11,最终都能达到调整时间的目的

这里有个模的概念,

例如对于指针时钟来说,它的模是12,

对于电子时钟来说,它的模则是24,

对于二进制8位运算来说,它的模就是128

对于可以取模的运算,减法都可以转化为加法

对于计算机的运算也是一样,如8位运算,除去一位符号位,进行运算减1,可以转化为加127来实现,这也是计算机实现减法转换加法的原理

了解减法还需要先了解原码,反码,补码的概念

原码:带符号位的,其余位表示数值

反码:正数的反码是原码,负数的反码是除了符号位之外,其余位取反

补码:正数的补码是原码,负数的补码是反码加一

计算机的运算普遍采用的都是补码,采用补码的优势是可以将减法转化为加法,这样可以使用加法器实现减法,降低电路复杂度,提高计算效率。另外使用补码也可以避免+/- 0的问题

如-1+3二进制表示则为

10000001

00000011

---------

取反码则为

11111110

00000011

---------

取补码则为

11111111

00000011

---------

00000010

结果为2

其实补码运算得出结果后还需对结果进行一次取补操作,这是为了对符号位的处理,如-3+1

补码计算则为

11111101

00000001

---------

11111110

结果是-126

我们需要对结果再取一次补码

11111110 -> 10000001 -> 10000010

结果是-2

部分的疑问和理解:

1.取补码问什么要加1?

取补码相当于模减去原码(不考虑符号位),既时钟问题的向前拨动1,和向后拨动11,

8位二进制,1的补码则为127

取反,0000001取反为1111110(不考虑符号位),既1和126,需要反码+1才能得到补码

2.计算机为什么使用补码进行运算?

可以避免对于+/-符号的判断,不管是加法还是减法都是加法运算,还能避免+/-0的歧义,而且还能多表示一个负数(如8位数的-128)

全都转化为加法还能降低电路复杂性,提高计算速度

温馨提示:内容为网友见解,仅供参考
第1个回答  2023-09-16

你真的以为CPU会做二进制除法呀?它就是作减法(这减法也是用补码做加法)。用被除数减除数,减一次,就在另一个地方加个1,直到被除数小于除数了,那么在那个地方放的数就是商,剩下的被除数就是余数。现在的CPU号称能做乘法除法,实际上还是在做减法,只不过用了大量硬件电路来提高了运算速度。其实CPU只会做加法,核心是许许多多加法器和控制器电路组成的,其他的四则运算全是“设法”用加法完成的。

    如果你是手工做除法的话,那和十进制是一样的办法。

cpu是怎么做加法和减法的?
--- 1000 加法的实现由按位加和(异或)和进位(与)两部分组成,内部的实现就是加法器 如上所示的加法器并没考虑上一位的进位问题,因为称为半加器 如果考虑进位,则需要把进位也参与运算 这样的结构就称为全加器多个全加器组合就实现了我们计算机的加法2.减法 计算机减法其实可以转化为加法,像指...

cpu中加法运算是由什么完成的
其实计算机的CPU只会做加法,它只知道1+1=10(二进制)其他的工作是由CPU的指令系统(控制单元)来完成的,比如乘法——把一个二进制数乘以二,就是把一个二进制数左边移一位,除法刚好相反,右移一位。比如求一个数的10倍:先给这个数字左移2次=原来数字乘以2,然后把乘以2的结果放在寄存器里(...

CPU是怎么做除法的?
它就是作减法(这减法也是用补码做加法)。用被除数减除数,减一次,就在另一个地方加个1,直到被除数小于除数了,那么在那个地方放的数就是商,剩下的被除数就是余数。现在的CPU号称能做乘法除法,实际上还是在做减法,只不过用了大量硬件电路来提高了运算速度。其实CPU只会做加法,核心是许许多多...

cpu如何实现数学运算的
1:CPU其实只能运行4种逻辑运算(与\/或\/非\/异或)2:该说法“CPU只能运算加法,加法也是通过4种逻辑运算来实现的”是错误的,CPU的加减法的实现是有微处理器的各个逻辑单元分别实现的,但是不仅仅是四种逻辑运算,否则怎么进位啊?3:乘法,除法,减法都是转换成加法来运算的,然后再由加法转换成逻辑运算,得到...

cpu如何实现数学运算的
用化学的方法蚀刻或光刻出晶体管数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。

cpu工作原理是什么
其次,在数据运算方面,CPU能够执行各种算术和逻辑运算。例如,加法器是CPU中的一个重要组件,它负责执行加法运算。当CPU遇到加法指令时,会调用加法器,将两个操作数相加,并将结果存储在指定的内存位置。同样,CPU还能执行减法、乘法、除法等算术运算,以及与、或、非等逻辑运算。这些运算能力是CPU完成...

微处理器的组成及其各部分的功能?
计算A+B 1)从主存储器M取出第一个加数A,经双向数据总线DB、数据缓冲寄存器DR、算术逻辑部件ALU,送到累加器AC暂存; 2)从主存M取出另一个加数B,经双向数据总线DB送入数据缓冲寄存器DR暂存; 3)在控制信号作用下,将数A和数B分别从AC和DR中取出送ALU进行加法运算,相加到的结果写回累加器...

cpu芯片的工作原理
CPU的工作流程可以大致分为取指令、解码指令、执行指令和写回结果四个步骤。在取指令阶段,CPU从内存中读取指令,并将其存入指令寄存器;在解码指令阶段,控制器对指令进行解析,确定指令的类型和操作数;在执行指令阶段,运算器根据解码的结果执行相应的运算操作,如加法、减法或逻辑运算等;最后,在写回...

CPU是怎么进行运算的?
而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。 \\x0d\\x0a\\x0d\\x0a 我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到...

芯片 如何运算的
理解这个问题,首先你要具备一定的数电知识,CPU是由晶体管组成的,利用晶体管可以很轻易的搭建与门,或门,非门,这一点毋庸置疑吧,然后利用这些逻辑们就可以组成各种触发器,这一点也不用多解释,数电的基础内容,然后利用触发器进一步组成移位寄存器等,到这里,你就可以轻易的组建一个加法器,减法器了...

相似回答
大家正在搜