分离出十六进制数的某低几位

来源:互联网 发布:小猪cms收银系统 打印 编辑:程序博客网 时间:2024/06/05 03:37

通过按位与的形式分离数位


分离低2位的数据

#include <stdio.h>#define GET_BITS(c,w_bit)  (c)&(w_bit)static int bits[]={ 0x0,0x1,0x3,0x7,0x15,0x1f,0x3f,0x7f,0xff,0x1ff,0x3ff,0x7ff,0xfff};int main(void){    int n =0;    int src = 0xff05;    scanf("%d",&n);    while(getchar()!='\n') continue;    printf("%d\n",(GET_BITS(src,bits[n])));    return 0;}

结果:

2 // 输入 2
1 // 得到 1


值得注意的是:

按位与操作 & 在嵌入式软件编程中非常重要,灵活,强大。

 while(getchar()!='\n') continue;   //防止多输入数据而造成缓冲区污染,对多次需要读取缓冲区的程序,至关重要。

0 0
原创粉丝点击