实现对一个8bit数据指定位(例如第n位)的置0或置1操作

来源:互联网 发布:万科金域名邸二手房 编辑:程序博客网 时间:2024/05/29 19:40
<span style="color:#33ff33;">/**功能:实现对一个8bit数据(unsigned char类型)的*   指定位(例如第n位)的置0或置1操作,并保持其他数*   据不变。*函数原型:*void bit_set (unsigned char *p_data,*               unsigned char position,int flag)*函数参数说明:*p_data是指定的源数据,position是指定位(取值范围1~8);*flag表示是置0还是置1操作。*/</span>#include<stdio.h>void bit_set (unsigned char *p_data,unsigned char position,int flag){if(flag){*p_data |= 0x01<<(position-1);}else{*p_data &= ~(0x01<<(position-1));}}int main(){char ch = 63;bit_set(&ch,3,1);printf("%d\n",ch);return 0;}

0 0
原创粉丝点击