首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

软件工程师面试题精选100题(55)-不用+、-、×、÷数字运算符做加法

2012-11-03 
程序员面试题精选100题(55)-不用+、-、×、÷数字运算符做加法题目:写一个函数,求两个整数的之和,要求在函数体

程序员面试题精选100题(55)-不用+、-、×、÷数字运算符做加法
题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。

用位运算:1.使用半加运算,计算出不进位相加的结果
           2.只有两个1在一起才会进位,那么确定哪些位置有两个1,然后移位,再进行不进位相加;

循环进行不进位相加。。。。。

int addWithoutArithmetic(int num1, int num2){        if(num2 == 0)  //如果num2为0,说明没有进位了                return num1;        int sum = num1 ^ num2;        return addWithoutArithmetic(sum, (num1 & num2) << 1);}





热点排行