位操作符的一些运算小技巧
位操作符的一些运算小技巧
本文主要介绍一些会经常使用到的位操作小技巧。
首先呢,给大家分享一个C语言练习的网站:C语言练习
使用位操作符时有以下两点需要注意
- 进行位运算时数据全部是换算为二进制的。
- 位操作符只适用于整形变量,不适合浮点数变量。(本质是由于两者的数据存储类型不同)
1. 交换两个变量的值
int a = 1;int b = 2;a ^= b;b ^= a;a ^= b;printf("a: %d b: %d\n", a, b);
2. 求二进制中1的个数
int a = 5;
int count = 0;while (a) {a = a&(a - 1); //每次把最低位丢弃,直到a为0.count++;
}
printf("%d\n", count);
3. 求二进制中0的个数
int a = 5;
int count = 0;
while (a+1) {a = a | (a + 1);count++;
}
printf("%d\n", count);
4. 求一个数的绝对值
int i = -2;
int j = i >> 31;i = (i ^ j) - j;
printf("%d\n", i);
5. 求一个数的相反数
int i = -2;i = ~i + 1;
printf("%d\n", i);
6. 判断一个数的奇偶性
int a = 3;if((a&1) == 1) {printf("奇数\n");
} else {printf("偶数\n");
}
7. 求两个数的平均数
int a = 3;
int b = 7;printf("平均值: %d\n", ((a + b) >> 1));
8. 从无符号类型x的第p位开始,取n位数
unsigned GetBits(unsigned x,int p, int n) {return (x>>(p+1-n)) & ~(~0<<n);
}
关注v-x-公-众-号:【嵌入式基地】
后-台-回-复:【电赛】 即可获资料
回复【编程】即可获取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
位操作符的一些运算小技巧相关推荐
- 从labuladong东哥那里看到的位运算小技巧
从labuladong东哥那里看到的位运算小技巧 1. 利用或操作 `|` 和`空格`将英文字符转换为小写 2. 利用与操作 `&` 和`下划线`将英文字符转换为大写 3. 利用异或操作 `^ ...
- 2020 China Collegiate Programming Contest Changchun F - Strange Memory(dsu on tree + 位运算小技巧)
题目连接: https://codeforces.com/gym/102832/problem/F 首先写这个题的时候要注意内存的问题 不要瞎几把define int long long 题解: 考虑 ...
- 在蓝湖上直接进行图片资源重命名小技巧
目录 1.前言 2.正文 3.最后 1.前言 大家在实际工作中,有没有用到过蓝湖呢? 蓝湖是一款产品文档和设计图的共享平台,帮助互联网团队更好地管理文档和设计图. 最近两年使用蓝湖,共享设计图在公司内 ...
- 一元操作符、强制类型转换表达式、乘除操作符、加法操作符、移位操作符、关系操作符、判等操作符、位操作符与逻辑操作符、条件与操作符、条件或操作符--运算机制与返回值
操作符处理及返回值 先遣提示 一元操作符 前缀递增操作符 ++ 前缀递增操作符 - - 一元加号操作符 + 关于一元数值提升或二元数值提升 可以看这篇博客 一元减号操作符 - 这里涉及了 原码,反码, ...
- 淘宝直播的定义,淘宝直播小技巧介绍,以及淘宝有哪些推广渠道和展示位?
电商+直播的新型推广模式 的出现,让直播成了主流的带货方式之一,众多的电商平台都开启了直播带货的新模式,例如京东.淘宝.苏宁易购.v兔等. 淘宝直播也是在短视频兴起之时才开始大力推广直播卖货的,今天就 ...
- mysql insert 运算_MySql insert插入操作的3个小技巧分享
1.插入的数据来源自其他表 表A有id, cola 字段 表B有id, cola, colb...等字段,其中id都为主键,cola为相同名字的列 现想将表B中colb>1000的记录都插入表A ...
- 收藏喜+1!值得使用的100个Python小技巧
目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等 ...
- 快收藏!整理了 100 个 Python 小技巧
作者:小F 来源: 法纳斯特 目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习. ...
- 抄袭一些别人工作中的小技巧
1-类型强制转换 1.1 字符串转整形 '32' * 1 // 32 'ds' * 1 // NaN null * 1 // 0 undefined * 1 // NaN 或者 + '123' // ...
最新文章
- BAT新风向标:程序员有福利了!
- http反向代理调度算法追朔
- python应用中调用spark_在python中使用pyspark读写Hive数据操作
- 使用while和FOR循环分布打印字符串S='asdfer' 中的每一个元素
- 普通的java类型是指,String是一个很普通的类 - Java那些事儿
- 阿里 深度学习推理框架_如何通过Knative无服务器框架构建深度学习推理
- rup 裁剪_裁剪师是什么意思
- 组合范畴语法 CCG
- Next.js 服务端渲染框架实战
- Fundamentals of Power Electronics 第1版第2版 pdf 资源
- 交通银行PHP代码,交通银行国际汇款代码 交通银行swift代码查询
- Unicode 字符集
- Jetpack Compose 从入门到入门(七)
- html5 3d 图片动画制作软件,9款令人惊叹的HTML5 3D动画应用
- 5个超棒的自我提升App
- 在C#中使用OpenCV(使用OpenCVSharp)
- 投资理财-曾经一起投资理财的朋友们
- Photoshop插件-保存-8位通道-16位通道-脚本开发-PS插件
- Berzerk CodeForces - 787C (BFS)题解
- .NET周报【11月第2期 2022-11-15】