【C学习笔记】【分享】day2-2 不允许创建临时变量,交换两个数的内容(附加题)
2024-09-08 19:01:28
加法实现:
#include <stdio.h>
int main()
{
int a = 30;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d\n", a, b);
return 0;
}
乘法实现:
#include <stdio.h>
int main()
{
int a = 30;
int b = 20;
a = a * b;
b = a / b;
a = a / b;
printf("a=%d,b=%d\n", a, b);
return 0;
}*/
按位异或法实现:
#include <stdio.h>
int main()
{
int a = 30;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d,b=%d\n", a, b);
}
总结:加法与乘法中, 虽然节省了时间, 但是当参加运算的两个数比较大的,
有时候加1就会发生溢出; 而按位异或法则防止了溢出情况, 按位异或法:
(mod 2)相同为1, 不同为0
原文链接:https://blog.csdn.net/SuLiJuan66/article/details/44728707
最新文章
- (九)WebGIS中的矢量查询(针对AGS和GeoServer)
- eclipse如何配置tomcat运行web项目时省略项目名称
- RelativeLayout实现左中右布局
- 转:Ajax中的get和post两种请求方式的异同
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)
- Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
- php中位运算的应用:货品的状态
- Memento 模式
- LeetCode之“动态规划”:Climbing Stairs
- 18年最有";钱";途的专业就是它(文末有福利)
- 【Linux基础】VI命令模式下删除拷贝与粘贴
- Python中字符串的操作
- 关于git分支管理,推送拉取等等
- VGGNet论文翻译-Very Deep Convolutional Networks for Large-Scale Image Recognition
- OpenStack 图形化服务 Horizon介绍和部署(十二)
- mount --bind 的妙用
- Python string常用函数
- JavaScript高级 面向对象(7)--深拷贝与浅拷贝
- 【Flask模板】宏的概念和基本使用
- Android TextView 中实现部分文字变色以及点击事件