六十六 位操作 0x1 << 3
来源:互联网 发布:ai是什么软件 编辑:程序博客网 时间:2024/05/22 00:45
#define BIT3 (0x1 << 3)
static int a;
void set_bit3(void)
{
a |= BIT3;
}
void clear_bit3(void)
{
a &= ~BIT3;
}
用 #defines 和 bit masks 操作。这是一个有极高可移植性的方法,是应该被用到的方法。
0x表示此数为16进制表示方法
0x1表示为2进制就是0001
<<是移位操作 表示左移,>>表示右移
0x1<<3表示将0x1向左移3位
即0x1<<3 = 0001<<3 = 1000 = 0x8
a |= BIT3 相当 a = a | BIT3 相当 a = a | 0x0008;
a &= ~BIT3 相当 a = a & ~BIT3 相当 a = a & 0xFFF7;
#define BIT_MASK(bit_pos) (0x01<<(bit_pos))
函数:
int bit_set(unsigned int *val,unsigned char pos)
{
if(pos>=sizeof(unsigned int)*8)
{
return 0;
}
*val=(*val&~BIT_MASK(pos));
return 1;
}
实现高低字位交换函数:
#include<iostream>
#include<string>
using namespace std;
int main()
{
unsigned short a=0xABCD;
unsigned short b,c,d;
b=(a<<8)&0xff00;
c=(a>>8)&0x00ff;
d=c|b;
printf("%x",d);//cdab
}
- 六十六 位操作 0x1 << 3
- 位操作 0x1 << 3
- 位操作 0x1 << 3
- Java之“& 0x1”
- & 0x1的效果
- 0x1.Android Activity
- 漏洞本地演示0x1
- 十六进制 0x1.2P5
- 六十六、基础框架(二十四)文件操作-目录操作
- [objective-c]—六十六、基础框架(二十四)文件操作-目录操作
- [objective-c]—六十六、基础框架(二十四)文件操作-目录操作
- android NotFoundException: String resource ID #0x1
- IOException: Prepare failed.: status=0x1
- [python] 0x1 Python Tutorial : Port Scanner
- 0x1 isnumeric()函数的绕过
- 【9309】求Y=X1/3
- 位操作
- 位操作
- iOS 通知——推送通知
- 高效jQuery的奥秘
- 《失孤》剧组与群众起冲突 刘德华调解
- 取PDA序列号(机器号)
- 蓝桥杯练习系统——基础练习 十六进制转十进制
- 六十六 位操作 0x1 << 3
- 黑马程序员--异常
- javaEE jsp与servlet之间通信
- Linux进程间通讯-IPC详解
- 新辰:浅谈一个顶级SEOer必须掌握的五大技能
- An internal error occurred during: "Launching 项目名 on MyEclipse Tomcat ". java.lang.NullPointerExcept
- 压缩跟踪(CT)代码详细学习_模块2(特征的提取和计算)
- 【闲来刷 leetcode】 Two Sum | leetcode OJ
- 在JavaScript中什么时候使用==是正确的?