c语言的几种位操作运算

c语言的几种位操作运算

ID:8968241

大小:21.00 KB

页数:2页

时间:2018-04-13

c语言的几种位操作运算_第1页
c语言的几种位操作运算_第2页
资源描述:

《c语言的几种位操作运算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C语言的几种位操作运算在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在C语言中尽管也提供了一些位操作手段,如按位与、按位或、按位取反等,但它们是对一个字节进行操作,如要对具体的一位操作,仍旧不方便,以下给出了一些函数,可以模仿汇编语言的一些位操作功能。#defineucharunsignedchar/*测试变量某一位是否为‘1’,是返回真,否返回假,num为待测试的数,bit为位数,其值从0到7,下同*/ucharbittest(ucharnum,ucharbit){if(num>>b

2、it&0x01==1)return1;elsereturn0;}ucharbitclr(ucharnum,ucharbit)/*清除某一位*/{ucharbit_value[]={1,2,4,8,16,32,64,128};returnnum&~bit_value[bit];}ucharbitset(ucharnum,ucharbit)/*设置某一位*/{ucharbit_value[]={1,2,4,8,16,32,64,128};returnnum

3、bit_value[bit];}ucharbitcpl(ucharnum,uchar

4、bit)/*取反某一位*/{ucharbit_value[]={1,2,4,8,16,32,64,128};if(num>>bit&0x01==1)returnnum&~bit_value[bit];elsereturnnum

5、bit_value[bit];}/*以下主程序演示,调用时,可以直接给出数值,也可以给出变量名*/voidmain(void){ucharxx=0xfe;xx=bitset(xx,0);printf("Thesetoutis%x",xx);printf("Theclroutis%x",bitclr(255

6、,0));printf("Thetestoutis%x",bittest(0xff,0));printf("Thecploutis%x",bitcpl(0x00,7));}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。