不使用加减乘除计算两个数的和
国际惯例,先上代码:
1 |
|
分析:
1.两数字a、b相加,其实是二进制的相加
2.两个数字异或运算,结果为c,
3.两个数字与运算,若等于0,则表示没有进位,返回c即可
否则,存在进位,结果为d
4.将d左移1位,与c进行相加,重复1-4即可。
举例:3(011)和5(101)
1 |
|
注:减法类似
不使用加减乘除计算两个数的和
https://leehoward.cn/2021/03/24/不使用加减乘除计算两个数的和/
国际惯例,先上代码:
1 |
|
分析:
1.两数字a、b相加,其实是二进制的相加
2.两个数字异或运算,结果为c,
3.两个数字与运算,若等于0,则表示没有进位,返回c即可
否则,存在进位,结果为d
4.将d左移1位,与c进行相加,重复1-4即可。
举例:3(011)和5(101)
1 |
|
注:减法类似