为什么printf("%d\n",12&012)输出结果为8呢,请详细解答一下关于逻辑运算符的运算,和进制的转换谢谢!!

 我来答
松甜恬0Je4ba
2012-01-03 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3459万
展开全部
012是八进制,转换成二进制是 0000 1010
12是十进制,转换成二进制是 0000 1100
&是二进制位与运算 1&1=1 0&0 =0 0&1=0 1&0 =0
0000 1010
&0000 1100
=0000 1000
转换成十进制 也即是8 了。
sun_siliang
2012-01-03 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4655万
展开全部
12&012 //012表示八进制,其对应的二进制为00001000
=00001100&00001000 //&表示按位与运算。
=00001000
=8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-03
展开全部
012的十进制是10
12的二进制1100
10的二进制1010
&运算后二进制1000
十进制8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式