不用任何运算操作符实现2个unsigned int 的相加!
来源:互联网 发布:温柔体贴的女人知乎 编辑:程序博客网 时间:2024/06/04 18:37
在网上看到了一个不用任何运算操作符(包括+,-,*,、,%,++,--)实现2个unsigned int 的相加的题目,有部分答案给出的不够详细也不够正确,所以完善了一下!
供参考!
#include<stdio.h>
unsigned int addWithoutOperater(unsigned int a, unsigned int b)//只支持unsigned int 类型的,不过对正int也支持
{
unsigned int sum = a^b;//只相加,不考虑进位
unsigned int carry = (a&b)<<1;//进位
return (carry==0?sum:addWithoutOperater(sum,carry));//若进位为0,则当前sum即为所求,否则递归
}
int main(int argc,char* argv[])
{
unsigned int a = 234, b = 1234;
printf("%d/n",addWithoutOperater(a,b));
return 0;
}
- 不用任何运算操作符实现2个unsigned int 的相加!
- 不用任何操作符实现两个正整数相加
- 不用任何的算数运算符实现加法
- unsigned int与int相加的问题
- 不用操作符实现两个数相加
- unsigned int与int相加
- int和unsigned int的混合运算
- 不用(+)运算符实现两个整数相加
- 浅谈unsigned int与int相加的问题
- 不用任何算术运算符计算两个数的和
- 不用算术运算符实现两个数的加法操作
- C++ unsigned int类型的运算注意
- 不用任何位操作,获得一个int变量的第九位
- unsigned int与int相加问题
- unsigned int 和int 相加问题
- 不用任何局部和全局变量实现int strlen(char *a)
- 不用任何局部和全局变量实现int strlen(char *a)
- C语言之unsigned int和int的运算
- 辗转相除法 最大公约数
- Top 20+ MySQL Best Practices【sql优化】
- Install Adobe AIR on 64-bit Ubuntu 10.10
- VC
- HDu1233 还是畅通工程
- 不用任何运算操作符实现2个unsigned int 的相加!
- c++类常见问题
- 关于《基于汉明距离的LSH图像检索算法》代码的一些bug修正
- Flex 3快速入门: 构建高级用户界面 添加拖放支持
- RAMOS(内存操作系统)大制作
- 在IE6中JS不执行的问题处理
- Linux 内核学习(2)
- struts2 文件上传与下载原理
- slider