哪位大虾知道电脑怎样进行-*/运算的?

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:27:31
听人说电脑只有加法,其他运算都是从加法转换而得的,哪位大虾知道其中转换方法.越详细越好

先将数转换成二进制数
减去一个数,就是将这个减数的,二进制的补码,加上被减数,打个比方:1-1=0 是不是和1+(-1)=0是一回事?
再看楼上所说就更明白些了

乘除法是在累加器的基础上实现的.就是多次相加而已

那你就买一本计算机编程的入门书籍来看,最好不过。整数(integer)资料的表现方法
那电脑又是怎麼表现众多的数字资料呢 我们先从整数看起吧!相信大家
对正整数的二进位表示法都不陌生,像127换算为二进位就是01111111,而128
则是10000000,在这里就不赘述了.如果以八位元来表示正整数,那麼能表示
的资料为0-255,十六位元则为0-65535,三十二位元则是0-2147483647.
但是以大家对数字的认知都知道数字系统并不是只有正整数一种啊!如果
要做减法运算的时候,就需要用到负数了(电脑的架构很简单,只会算加法)!那
电脑又是怎麼样来表现负数这种数字呢 在电脑系统里面,使用了一种称为补数
的方法来解决这种问题.使用补数系统的好处是让电脑只需要会加法,就可以做
出减法跟乘除了,如此processor内只需要有加法器的电路,不需要另外再做减
法器,乘法器,除法器,可以大大的减低电路的复杂度.
所谓的B进位系统中的n位正整数N的B补数就是B^n-N所以二进位使用
的n位二补数(2's complement)就是2^n-N.哈哈,一定听不懂吧!放心,刚刚不
是说了吗 电脑也不会算减法,所以电脑也不是这样来算补数的.告诉你一个简
单的方法,正整数N的补数就是把N中的0变成1,1变成0然后再加上1就可
以得到了,因此如果以八位数来表现整数的话,那麼能表现的数字范围变平移成
-128 127了,其中第一位为0者为正数,为1者是负数.那-128是长什麼样子
呢 我们知道10000000是128,所以-128就是01111111+1,也就是10000000,
那-1呢 00000001是1,所以-1就是11111110+1,也就是11111111,嗯 很不
能理解对吧 来玩一道式子看看.