所有程序均来自于网上。
1、判断奇偶
bool isEven(int n) {
if (n & 1) {
return true;
} else return false;
}
2、改变符号
int changeSign(int n) {
return ~n + 1;
}
3、取绝对值
int abs(int n) {
return (n ^ (n >> 31)) - (n >> 31);
}
4、高地位互换
int exchange(unsigned int n) {
return (n >> 16) | (n << 16);
}
5、二进制中 1 的个数
int count (int n) {
int num = 0;
while (n != 0) {
n &= (n - 1);
num ++;
}
return num;
}
6、加法
int addWithoutArithmetic(int num1, int num2) {
if (num2 == 0)
return num1;
int sum = num1 ^ num2;
int carry = (num1 & num2) << 1;
return addWithoutArithmetic(sum, carry);
}