标签:不用加减乘除做加法
很容易想到为二进制的与或非。
加法分为三步:
1 各位相加不进位 0 + 0 =0, 0+1 = 1,1+0=1,1+1=1,很明显是异或运算
2 进位 1+1 =10进位,其余均不进位 ,进行左移动一位
3 一直循环
代码:
#include <iostream> using namespace std; int sum(int data1,int data2){ int sum,carry; do{ sum = data1 ^ data2; carry = (data1 & data2)<<1; data1 = sum; data2 = carry; }while(carry != 0); return data1; } void main(){ cout <<sum(6,7); }
标签:不用加减乘除做加法
原文地址:http://blog.csdn.net/buyingfei8888/article/details/38421787