算法分析:
- 使变量num右移8位,将原来的8~11位移到低4位上
- 构造一个低4位为1,其余位为0的整数(0000 0000 0000 1111)
- 与变量num进行按位与运算
代码如下:
#include<stdio.h>
int main(void)
{
int num, mask;
printf("输入一个正整数: ");
scanf("%d",&num);
num = num>>8;
mask = ~((~0)<<4);
//(~0) 1111 1111 1111 1111
//(~0)<<4 1111 1111 1111 0000
//~((~0)<<4) 0000 0000 0000 1111
printf("结果为: 0x%x\n",num&mask);
//0x%x 输出十六进制
//num&mask 按位与运算
return 0;
}
结果如下:

1000 二进制表示:0011 1110 1000
0x3 二进制表示:0011




![[linux][调度] 内核抢占入门 —— 线程调度次数与 CONFIG_PREEMPTION](https://img-blog.csdnimg.cn/direct/78edffd4d3e64805a31b92fa940f8e39.png)













![[综述笔记]A Survey on Deep Learning for Neuroimaging-Based Brain Disorder Analysis](https://img-blog.csdnimg.cn/direct/1cf513b14de8429d8ac02a71046ca056.png)
