/** * @param a: An integer * @param b: An integer * @return: The sum of a and b */ const aplusb = function (a, b) { var sum,i; while(i!=0){ sum=a^b; //求和 i=(a&b)<<1; //解决进位,若有进位继续求和 a=sum; b=i } return sum }
关键在于利用i来判断是否还有进位,我一开始采用b!=0来判断,当b一开始为0的时候,这程序就会报错,因为我只规定了b不为0程序运行的方法,但是一旦b为0,程序就不会有动作 了。