一些位操作函数
来源:互联网 发布:淘宝第三方担保交易 编辑:程序博客网 时间:2024/05/28 11:48
#define uchar unsigned char
/*测试变量某一位是否为‘1’,是返回真,否返回假,num为待测试的数,bit为位数,其值从0到7,下同*/
uchar bittest(uchar num,uchar bit)
{ if(num>>bit&0x01==1)
return 1;
else
return 0;
}
uchar bitclr(uchar num,uchar bit) /*清除某一位*/
{
uchar bit_value[]={1,2,4,8,16,32,64,128};
return num&~bit_value[bit];
}
uchar bitset(uchar num,uchar bit) /*设置某一位*/
{
uchar bit_value[]={1,2,4,8,16,32,64,128};
return num|bit_value[bit];
}
uchar bitcpl(uchar num,uchar bit) /*取反某一位*/
{
uchar bit_value[]={1,2,4,8,16,32,64,128};
if(num>>bit&0x01==1)
return num&~bit_value[bit];
else
return num|bit_value[bit];
}
/*以下主程序演示,调用时,可以直接给出数值,也可以给出变量名*/
void main(void)
{
uchar xx=0xfe;
xx=bitset(xx,0);
printf("The set out is %x/n",xx);
printf("The clr out is %x/n",bitclr(255,0));
printf("The test out is %x/n",bittest(0xff,0));
printf("The cpl out is %x/n",bitcpl(0x00,7));
}
以上是以TC为例编写的主程序,各函数在其它C语言中也一样可用。
- 一些位操作函数
- C语言一些常用的“位”操作函数
- C语言一些常用的“位”操作函数
- C语言一些常用的“位”操作函数
- 一些位操作简记
- c++一些位操作
- 对32位的无符号int的位进行操作的一些相关函数
- 位操作函数
- 一个位操作函数
- 一些有用的位操作
- 一些关于位操作代码
- 位的一些基本操作
- 一些位操作的技巧
- 一些运算的位操作
- 位操作 ‘野指针’free()的实质 volatile关键字 Strcpy / Strncpy 函数 及一些题目
- ftp一些操作函数.
- 一些原子操作函数
- 一些内核操作函数
- 突然想起,
- SNMP_PP_CHS Charpter 13
- JBuilder2006破解方法
- java串行通信的配置文件
- dbgrid中picklist的一次性赋值
- 一些位操作函数
- CCNA学习笔记
- access 中sql语句之“like”
- JAVA六种异常处理的陋习
- Uploading Files in ASP.NET 2.0
- jsp+tomcat+mysql&sevlet&javabean配置全过程
- Transact SQL 常用语句以及函数
- session详解
- 简化Java应用程序的打包和发布