不用加减乘除做加法
来源:互联网 发布:短信可爱铃声软件 编辑:程序博客网 时间:2024/05/29 18:35
问题:写一个函数,求两个整数之和,要求在函数体内不得使用加、减、乘、除四则运算符号。(运用二进制与或非和移位操作)
int Add(int num1, int num2){ int sum, carry; do { sum = num1 ^ num2; carry = (num1 & num2) << 1; num1 = sum; num2 = carry; } while(num2 != 0); return num1;}// ====================测试代码====================void Test(int num1, int num2, int expected){ int result = Add(num1, num2); if(result == expected) printf("%d + %d is %d. Passed\n", num1, num2, result); else printf("%d + %d is %d. Failed\n", num1, num2, result);}int _tmain(int argc, _TCHAR* argv[]){ Test(1, 2, 3); Test(111, 899, 1010); Test(-1, 2, 1); Test(1, -2, -1); Test(3, 0, 3); Test(0, -4, -4); Test(-2, -8, -10);}扩展:不使用交换新的变量,交换两个变量的值,比如两个变量a、b
0 0
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- Spring Cloud构建微服务架构(四)分布式配置中心(续)
- Echarts的graph关系图的节点图片自定义及关系边上的提示框内容自定义
- form 表单提交方式
- 使用其他电脑时怎么对自己的hexo博客进行改动
- 【洛谷】【USACO】P1118 数字三角形
- 不用加减乘除做加法
- 堆排序算法
- Visual Studio中的文件类型(sln vcproj suo user ncb)
- 快速理解JavaScript中apply()和call()的用法和用途
- XUtils之注解机制详解
- 文件描述符和文件指针的相互转换
- Caffe学习系列(13):数据可视化环境(python接口)配置
- asp.net服务器控件button先执行js再执行后台的方法
- 215. Kth Largest Element in an Array