位操作
来源:互联网 发布:s7下不了软件 编辑:程序博客网 时间:2024/06/06 20:23
位逻辑运算符
~:二进制反码或者按位取反
&:逐位比较产生一个新值。只有两个操作数的对应位都为1时结果才是1。
|位或:按位比较,有一个为1则取值为1
^:位异或
1、用法:掩码
使用位和 &
就是某些位设为开(1)而某些位设置为关(0)的位组合。
用于覆盖某个变量的某些位。
2、用法:打开位
使用位或 |
把某个变量的特定位打开。
3、用法:关闭位
使用& ~把特定位关闭
4、用法:转置位
使用^
5、用法:查看一位的值
判断flag的第一位是否和mask相同。
flag = 10110101;mask = 00000010;if (flag == mask) { printf("wow");}//不能工作
因为flag中的其它位也会和mask比较,产生其它的结果。
if ((flag & mask) == mask) { printf("wow");}//可以工作!
位字段
struct { unsigned int a : 1; unsigned int b : 2; unsigned int c : 3;} prnt;prnt.a = 0;prnt.b = 1;prnt.c = 100;
使用位字段决定每个字段的宽度,也就是说,a只能赋值不超过1的数。
必须确保值没有超过字段的容量。
如果超过了,就会在下一个unsigned int储存位置。
0 0
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 有一个fuck叫做wfg,还是大写---python的@修饰符解析
- 读《Boost程序库完全开发指南》
- 高并发的几个解决方案
- .net反射的研究
- Java IO系列3 字节流之DataInputStream与DataOutputStream
- 位操作
- Android NDK Log信息打印
- iOS - 纯代码实现几种不同类型高度固定的Cell
- 【剑指offer】之青蛙跳台阶
- 让人郁闷的Apache ServerLimit
- 手把手教你在Windows下搭建React Native Android开发环境
- cocospod 安装问题
- JAVA虚拟机关闭钩子(Shutdown Hook)
- java.net.InetAddress类的使用