/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num1 int整型 * @param num2 int整型 * @return int整型 */ int Add(int num1, int num2 ) { // write code here int ret = 0; int flag = 0;//进位 int tmp = 0; for (int i = 0; i < 32; i++, num1 >>= 1, num2 >>= 1) { if ((num1 & 1) == 1 || (num2 & 1) == 1) { if ((num1 & 1) == 1 && (num2 & 1) == 1) { tmp <<= 1; tmp |= flag; flag = 1; } else { if (flag == 1) { tmp <<= 1; tmp |= 0; flag = 1; } else { tmp <<= 1; tmp |= 1; } } } else { tmp <<= 1; tmp |= flag; flag = 0; } } for (int i = 0; i < 32; i++) { ret <<= 1; ret |= tmp & 1; tmp >>= 1; } return ret; }