C语言按位操作 a &= ~(1<<6) 什么意思 ,第七位清零其他位不变是如何做到的

a|=(1<<6)是如何将变量a的第七位(bit6)置1的;a^=(1<<6);如何将变量a的第七位(bit6)取反的;chara;... a|=(1<<6)是如何将变量 a 的第七位(bit6)置 1的;
a ^=(1<<6); 如何将变量 a 的第七位(bit6)取反的;
char a;
展开
 我来答
风若远去何人留
推荐于2017-11-22 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450122
专业C/C++软件开发

向TA提问 私信TA
展开全部
通过&清0 利用 任何值&1后 值不变。 任何值&0后 值为0.
于是 要只把bit6清零 那么 & 1011 1111 这样一个二进制
就可以做到其它位不变 bit6清零。

而取反 同样类似。
任何值^1 取反 任何值^0 不变。

置一
任何值|1 =1
任何值|0 不变。
追问
我知道了,我理解错了,~(1<<6)这个是什么意思,为什么得到1011 1111
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式