用位操作实现加法运算
来源:互联网 发布:iphone8支持5g网络吗 编辑:程序博客网 时间:2024/06/08 15:52
问题描述:
对下面代码中的a进行位操作(只能进行位运算),实现输出OPQ
int a = 0x434241;printf("%s\n", (char*)&a);
参考代码:
#include <stdio.h>int add(int a, int b){ //思路: a+b=a^b + (a&b)<<1;其中a^b是不考虑进位的加,只有位相同才有进位所以(a&b)<<1则是进位的值, //每进行一次操作,进位末尾补0,也就是说,最多进行b的二进制位数次操作即可完成计算 if (b == 0) return a; return add(a ^b, (a&b) << 1);}int main(){ int a = 0x434241; //a = (a ^ 0x51504F) ^ a; a = add(a, 0x0e0e0e); printf("%s\n", (char*)&a); return 0;}
3 1
- 用位操作实现加法运算
- 用位运算实现加法
- 用位运算实现加法
- 位运算实现加法
- 位运算实现加法
- 位运算实现加法
- 位运算 实现加法
- 位运算实现加法
- 位运算实现加法
- 位运算 实现加法
- 位运算实现加法
- 位运算实现加法
- 位运算 实现加法
- 位运算实现加法
- 位运算实现加法
- 位运算 实现加法
- 用位运算实现加法和减法
- 位操作实现加法
- DrawerLayout、Toolbar 的详细用法
- Yii框架captcha验证码的使用
- pal制视频格式
- mysql 千万级优化路线
- Spring-applicationContext.xml路径配置
- 用位操作实现加法运算
- Queue的实现
- WIN32学习——鼠标消息
- Android Webview详解
- 运用Hibernate机制,对mysql数据库中的表进行增,删,改,查
- Git配置(linux+windows)
- Golang概述
- 使用CMakeLists.txt创建一个简单的opengl程序
- HDU 1002 A + B Problem II 高精度加法程序 覆盖大量字符串处理基础 详细注释