2+3=?计算机中是如何计算的
x:0010 y:0011
1.先将俩个数X(2),Y(3)进行xor运算
0010:X
0011:Y
------------- XOR
0001:A
2.再将X,Y进行一个&并且左移运算,如果结果的出来等于0
A则是X(2)+Y(3)的值
0010:X
0011:Y
--------------and
0010<<1=0100:Y
如果不0则把上面算出的X=A与刚刚&左移的结果进行XOR运算
X(0001)
Y(0100)
-----------------XOR
0 1 0 1:A
再进行X,Y&并且左移运算,如果结果等于0A则是2+3的值得
X(0001)
Y(0100)
-----------------and
0000
2+3=01015==A
算出来结果完毕
总结:计算机加法
X+Y=?
公式:
int X = 354; //X+Y=?
int Y = 65467;
int A = 0;
int B = 0;
while(1)
{
A = X ^ Y;
B = (X & Y) << 1;
//如果B0,A就是X+Y的结果,如果!=,把A的值给X,把B的值给Y再进行运算
//直到B0为止
if (B == 0)
{
break;
}
Y = B;
X = A;
}
cout << A << endl;