7.3 位运算
来源:互联网 发布:数据库漏洞扫描软件 编辑:程序博客网 时间:2024/06/06 03:54
1.位运算
- &:与
- 如果 x = 1并且 y = 1,那么(x & y) = 1;否则 (x & y)= 0
- |:或
- 如果 x = 1 或者 y = 1,那么 (x | y)= 1;否则 (x | y)= 0
- ~:取反
- 把0变成1,1变成0
- ^:异或
- 如果 x == y,那么 (x ^ y)= 0;否则(x ^ y)= 1
- <<:左移
- x << 1 等价于 x *= 2,左移后 右边补0
- >>:右移
- x >> 1 等价于 x /= 2
- 小于int的类型,以为以int的方式来做,结果是int
- 对于unsigned类型,左边补0
- 对于signed类型,左边补 最高位
- 移位的位数不要用负数,没有定义这种行为:x << -2; // No!!
#include<stdio.h>int main(int argc, const char *argv){ unsigned char c= 0xAA; printf(" c = %hhx\n", c); // c = aa printf("~c = %hhx\n", (char)~c);// ~c = 55 printf("~c = %hhx\n", (char)~c);// ~c = 55 return 0;}
2.输出一个数的二进制
#include<stdio.h>int main(int argc, const char *argv){ int number = 0xaa; unsigned int mask = 1u<<31; for(; mask; mask >>= 1){ printf("%d", number & mask ? 1 : 0);//00000000000000000000000010101010 } printf("\n"); return 0;}
0 0
- 7.3 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- java初学求素数小程序
- hihoCoder [Offer收割]编程练习赛8 小Ho的强迫症 (裴蜀定理)
- 第一章 开始Lua
- Win64 驱动内核编程-8.内核里的其他常用
- Java第二课
- 7.3 位运算
- ROS 中配置使用Eigen库
- 本地sqlyog连接错误
- PAT 1070. 结绳(25)
- Javascript 实现复制(Copy)动作方法大全
- Android 7.0系统webview 显示https页面空白处理
- 博客
- Flex 布局教程
- iOS使用GCDSocketManager实现长连接