竖式计算进位1是写还是不写
先把乘法算式改写成加法算式算得出结果是怎么做的?
先把乘法算式改写成加法算式算得出结果是怎么做的?
这个你上了大学,学了计算机电路就知道了。计算器内部主要是通过异或门来实现加法运算的。
逻辑无非就这几种:非门(NOT)、与门(AND)、或门(OR)、异或门(XOR),其中非门还可以和另外三个进行组合。加法主要是靠异或门实现的。
计算机内部为了计算方便,一律用二进制的形式表示数据,二进制是“逢二进一”的,只有 0 和 1 两个数字。逻辑上一般把 0 称为逻辑假,把 1 称为逻辑真。计算机内部的加法也只有四条规则:
0 0 0
0 1 1
1 0 1
1 1 10(进位位 C 为 1,结果位为 0)
而这个规则正是使用异或门实现的。异或门(A XOR B)是指:只有 A 和 B 的状态为一真一假时,才返回真。若 A 和 B 同时为真或者同时为假,则返回假。那么你看看,上面的四条加法规则,是不是完全满足异或门的定义?
对于进位位,我们都学过加法算式的竖式吧。类似于加法竖式,在进位位为 1 的数位上,是要再加上进位位的数的。计算机中的【加】,其实是逻辑异或。那么问题来了,原先的两个数,加上进位位,一共三个数,怎么进行异或运算(A XOR B XOR C)?
我们知道,数学上的四则运算是有优先级的,先乘除后加减。其实逻辑多项式运算上也同样有优先级,一般认为 NOT AND OR XOR。对于同级运算,其实可以使用结合律,即:A XOR B XOR C ( A XOR B ) XOR C A XOR ( B XOR C )。这样是不是就可以理解了?
而且,多试几次,你会发现一个规律:任意 n 个(n ≥ 2)逻辑量进行异或运算,若其中有奇数个逻辑真,则最终结果为逻辑真;若其中有偶数个逻辑真,则最终结果为逻辑假。
这样,一个简单的加法器就出来了。我们可以试试(假设是一个八位二进制的加法器),比如 23 44
23 的二进制为 00010111
44 的二进制为 00101100
运算的结果是二进制的 01000011,换算成十进制是 67,完全正确。
计算器的加法原理就这么多,其余的减法、乘法、除法什么的也是在加法器的原理上进行改装的,在这里就不说太多了。
乘法口诀表用公式计算方法?
一一得一
一二得二 二二得四
一三得三 二三得六 三三得九
一四得四 二四得八 三四十二 四四十六
一五得五 二五一十 三五十五 四五二十 五五二十五
一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六
一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九
一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四
一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一
扩展
多位数乘一位数的竖式计算
1、 相同数位对齐
2、 用这个数分别去乘多位数每一个数位上的数,从个位数乘起,即从右往左乘
3、乘到哪一位就把积写在哪一位数位对应的下面
4、如果要进位的,哪一位的乘积满几十,就向前进几,然后再继续往下乘。
多位数乘两位数
1、 把数位较多的因数写在上面,数位较少的写在下面;
2、 下面的因数要与写在上面的因数的数位要对齐;
3、 用第二个因数(即写在下面的因数)的个位数与写在上面的数的个位相乘,把相乘得到的积的末位写在个位上,再与十位上的数相乘写在十位上,……;
4、 要进位的,哪一位的乘积满几十,就向前进几,然后再继续往下乘;
5、 再用写在下面的因数的十位与写在上面的因数的各个位数分别相乘,把相乘得到的积的末位写在对应的十位上。