专门做民宿的网站,sydney wordpress,全网营销图片,城市轨道建设规范下载网站在汇编语言中有直接对位进行操作的指令#xff0c;如置位、复位、位取反、测试某一位等#xff0c;这对于硬件操作十分方便#xff0c;在C语言中尽管也提供了一些位操作手段#xff0c;如按位与、按位或、按位取反等#xff0c;但它们是对一个字节进行操作#xff0c;如要…在汇编语言中有直接对位进行操作的指令如置位、复位、位取反、测试某一位等这对于硬件操作十分方便在C语言中尽管也提供了一些位操作手段如按位与、按位或、按位取反等但它们是对一个字节进行操作如要对具体的一位操作仍旧不方便以下给出了一些函数可以模仿汇编语言的一些位操作功能。#define uchar unsigned char/*测试变量某一位是否为‘1’是返回真否返回假num为待测试的数bit为位数其值从0到7下同*/uchar bittest(uchar numuchar bit){ if(num》》bit0x011)return 1;elsereturn 0;}uchar bitclr(uchar numuchar bit) /*清除某一位*/{uchar bit_value{1248163264128};return num~bit_valuebit;}uchar bitset(uchar numuchar bit) /*设置某一位*/{uchar bit_value{1248163264128};return num|bit_valuebit;}uchar bitcpl(uchar numuchar bit) /*取反某一位*/{uchar bit_value{1248163264128};if(num》》bit0x011)return num~bit_valuebit;elsereturn num|bit_valuebit;}/*以下主程序演示调用时可以直接给出数值也可以给出变量名*/void main(void){uchar xx0xfe;xxbitset(xx0);printf(“The set out is %x\n”xx);printf(“The clr out is %x\n”bitclr(2550));printf(“The test out is %x\n”bittest(0xff0));printf(“The cpl out is %x\n”bitcpl(0x007));}以上是以TC为例编写的主程序各函数在其它C语言中也一样可用。