在vs2015中,我们可以这样写代码:
int add(int a, int b)
{
return (b == 0) ? a : add(a ^ b, (a & b) << 1);
/*
if(b == 0)
return a;
else
return add(a ^ b, (a & b) << 1);
//异或结果 + 与运算结果左移一位
*/
}
拓展资料:
C++是面向对象的程序语言,区别我们的C语言,具体编程首先要定义一个类,类中包含私有成员以及公有成员两部分,私有成员主要是变量,公有成员主要是方法,另外还需要另外的.cpp程序来实现这些公有方法,以及一个主函数。一般的,外部对私有成员是不能直接访问的,需要通过调用公有方法来实现访问私有成员。
数据在计算机内存中是以二进制存储的。
几种常用的位运算:
与运算&: 对应位均为1时为1,其它为0。
或运算|: 对应位均为0时为0,其它为1。
异或运算^: 对应位不相同时为1,相同时为0.
按位取反~: 每一位取反
右移>>: 将二进制进行右移,低位丢掉,高位补零。
左移<