C语言 - 位运算置0操作
来源:互联网 发布:面试算法题 编辑:程序博客网 时间:2024/05/16 00:36
位运算置0操作
本文地址: http://blog.csdn.net/caroline_wendy/article/details/26733313
C语言与C++的不同, 关键在于位运算和宏操作, 可以通过位移(<<)和与运算(&), 把指定位置为0.
代码:
/* * test.cpp * * Created on: 2014.05.23 * Author: Spike *//*eclipse cdt, gcc 4.8.1*/#include <iostream>#define BIT_MASK(bit_pos) (0x01 << (bit_pos))using namespace std;int Bit_Reset(unsigned int* val, unsigned char pos) {if (pos >= sizeof(unsigned int)*8) {return 0;}*val = (*val & ~BIT_MASK(pos)); //与0做与(&)运算return 1;}int main() {unsigned int x = 0xffffffff;unsigned char y = 4;Bit_Reset(&x, y);std::cout << std::hex << x << std::endl;return 0;}
输出:
ffffffef
8 0
- C语言 - 位运算置0操作
- C语言位操作的置1置0运算
- c语言位操作运算
- C语言位操作总结 位运算
- c语言位运算、a++、++a操作
- C语言位运算
- C语言位运算
- C语言位运算
- c语言位运算
- C语言位运算
- c语言位运算
- C语言位运算
- c语言位运算
- C语言位运算
- C语言位运算
- C语言位运算
- C语言位运算
- c语言位运算
- 彻底理解ThreadLocal
- 括号匹配问题——stack的利用
- 完全卸载VMware
- 嵌入式linux基本环境配置
- 电脑给山寨内存卡清理垃圾丢失了数据怎么恢复
- C语言 - 位运算置0操作
- sax与Dom区别
- OCP-1Z0-051 第161题 insert子句中的子查询
- 深入Java集合学习系列:HashMap的实现原理
- InputStream为什么不能被重复读取?
- Java领域的相关技术
- androidMenifest.xml 详解
- 在Lua中使用自定义类——tolua++工具使用(上集)For Windows
- 并发_任务协作