前言
在上一篇文章中,我们介绍了~
运算符的高级用法,本篇文章,我们将介绍 运算符的一些高级用法。
一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。
- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。
二、计算2的整数次幂
- 代码示例
#include
int main()
{
int x = 1;
printf("请输入2的次方数:");
scanf("%d",&x);
int y = 1
- 运行结果
三、将一个字节序列合并为一个整数
- 例如,将4个字节组成的字节序列b合并为一个整数
- 代码示例
#include
int main()
{
unsigned char b[4] = {0x12, 0x34, 0x56, 0x78};
unsigned int x = ((unsigned int)b[0]
- 运行结果
下面介绍的两种用法,会用到
&
|
^
的知识
如果有不清楚的,可以查看之前的文章:位运算符的基础用法
四、标记码
1、标记位置1
- 例如,将0xF8的第2位(从第0位开始数,由低位到高位) 置1
- 代码示例
#include
int main()
{
int x = 0xF8;
x |= 1
- 运行结果
2、标记位置0
- 例如,将0xF8的第3位(从第0位开始数,由低位到高位) 置0
- 代码示例
#include
int main()
{
int x = 0xF8;
x &= (~(1
- 运行结果
3、标记位取反
- 例如,将0xF8的第3位和第2位(从第0位开始数,由低位到高位) 取反
- 代码示例
#include
int main()
{
int x = 0xF8;
x ^= (3
- 运行结果
五、掩码
1、末尾连续N位都置1
- 例如,将0xF8的低3位都置1
- 代码示例
#include
int main()
{
int x = 0xF8; // Ob1111 1000
x |= ((1
- 运行结果
2、末尾连续N位都置0
- 例如,将0xFF的低4位都置0
- 代码示例
#include
int main()
{
int x = 0xFF; // 0b1111 1111
x &= ~((1
- 运行结果
3、末尾连续N位取反
- 例如,将0xFA的低4位都取反
- 代码示例
#include
int main()
{
int x = 0xFA; // 0b1111 1010
x ^= ((1
- 运行结果
小结
通过这篇文章,我们学会了用位运算符的4种高级用法
1、计算2的整数次幂
2、将一个字节序列合并为一个整数
3、标记码
4、掩码
在下一篇文章中,我们将介绍位运算符>>
的一些高级用法。
📢欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,非常感谢!
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net