C语言位运算,c语言位运算的作用
C语言中的位运算包括与( ),或(),亦或(^),非(~).
下面的代码包扩了这些基本运算,还有一个两个数的交换(不用第三个数)。
#包含标准视频
#包含标准库
//以二进制打印一个(同Internationalorganizations)国际组织
void bit_print(int a)
int I;
int n=16
int mask=1(n-1);
for(I=1;我我)
putchar((a掩码)==0)?0 : 1);
a=1;
if(i %8==0 i n)
putchar(" ");
printf( \ n );
void inplace_swap(int *x,int *y)
*y=*x^*y;
*x=*x^*y;
*y=*x^*y;
int main()
int a=19,b=38
printf( a:);
bit _ print(a);
printf( b:);
bit _ print(b);
printf( ~ a:);
bit _ print(~ a);
printf( a b:);
bit_print(a
printf( a b:);
bit_print(a
printf(a^b:);
bit_print(a^b);
printf(a=%d,b=%d\n ,a,b);
inplace_swap( a,
printf(交换后:\ n’);
printf(a=%d,b=%d\n ,a,b);
返回1;
}
逻辑运算
逻辑运算包括,对应逻辑运算的或,与,非。逻辑运算的结果只有两种,真的或者错误.0对应假的,非0都是没错。
逻辑运算包括一个短路求值的特征:如果对第一个参数求值就能确定表达式的结果,那么逻辑表达式就不会对第二个参数求值。
一个简单的例子:
#包含标准视频
int main()
int a=32,b=43
printf(a:%d,b:%d\n ,a,b);
printf(! a:%d,ab:%d,a b:%d\n ,答,答 答,答
printf(a b - :%d\n ,a b-);
printf(a:%d,b:%d\n ,a,b);
//printf( Hello \ n );
返回1;
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。