C语言中的置0和置1操作
- 置0
如果要将一个数的6位和10位置0,生成一个第6位和第10位都为0的数,拿这个数与要操作的数做(&)操作即可。生成一个第6位和第10位都为0的数可以使用1左移6位或者10位取反得到。
// test = 0b0000010001000000
unsigned short test = 1 << 6 | 1 << 10;
// 第6位和第10位置0
test &= ~(1<<6|1<<10);
- 置1
如果要将一个数的2位和3位置1,生成一个第2位和第3位都为1的数,拿这个数与要操作的数做(|)操作即可。
// test = 0b1000000000000000
unsigned short test = 32768;
// 第6位和第10位置0
test |= 1<<6|1<<10;
标签:10,short,unsigned,C语言,test,操作
From: https://www.cnblogs.com/huameixiao/p/18078532