以指定原子操作实现加减乘法
2013-08-28 09:56
211 查看
题目:以计算机提供的如下原子操作,实现加、减、乘法。
赋值操作:b=a;
++a和a+1;
for(){......}有限循环;
操作数只能为0或者正整数;
定义函数
解答:
加法操作
减法操作
乘法操作
赋值操作:b=a;
++a和a+1;
for(){......}有限循环;
操作数只能为0或者正整数;
定义函数
解答:
加法操作
int add(int a, int b) { int result = a; for (int i = 0; i < b; ++i) { ++result; } return result; }
减法操作
int sub(int a, int b) { if (a < b) return -1; int result = 0; for (; ; ++result) { if (a == add(result, b)) break; } return result; }
乘法操作
int mul(int a, int b) { int result = 0; for (int i = 0; i < b; ++i) { result += add(result, a); } return result; }
相关文章推荐
- java操作注册表实现禁用指定程序
- Android关于界面一定时间无操作自动跳转到指定界面的实现
- 可供多线程调用的只能有一个在执行的原子操作实现
- 后台动态生成文章名,前台js实现点文章名进入指定文章,打通前台与后台的操作。
- Mac开发中,请问如何编码实现操作finder打开指定目录,谢谢!
- 聊聊并发(五)——原子操作的实现原理
- Linux-arm原子操作的实现
- 使用循环CAS实现原子操作
- 使用C11的原子操作来实现线性单链表操作
- 对于日期指定部分的加减 使用DATEADD函数就可以轻松实现
- CAS原子操作实现无锁及性能分析
- C#下通过LINQ实现对XML文档指定节点的删除操作
- 实现对一个8bit数据(unsigned char)类型的指定位的置0或置1操作,并保持其他位不变
- Linux 原子操作实现
- 聊聊并发(五)原子操作的实现原理
- 聊聊并发(五)原子操作的实现原理
- 【C语言】实现对一个8bit数据的指定位的置0或者置1操作,并保持其他位不变。
- 聊聊并发(五)——原子操作的实现原理
- 跨平台的原子操作及简单的循环锁实现
- 个人学习笔记---linux原子操作的实现原理