C语言中按位置1,清0和获取某一位的操作


#include <stdio.h>

int main()
{
	unsigned char c = 2;
	printf("c=%d\n",c);
	int nbit = 3;
	c|=1<<nbit;
	printf("第%d位置1后,c=%d\n",nbit,c);
	
	c&=~(1<<nbit);
	printf("第%d位置0后,c=%d\n",nbit,c);
	
	unsigned char b;
	b=((c>>(1))&1);
	printf("第%d位的值为b=%d\n",1,b);
	
	b=((c>>(2))&1);
	printf("第%d位的值为d=%d\n",2,b);
	return 0;
}

运行结果如下:

c=2
第3位置1后,c=10
第3位置0后,c=2
第1位的值为b=1
第2位的值为d=0


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM