C语言中 printf("%d\n",12&012);这条语句什么意思啊?输出结果是什么?

 我来答
夏水秋池
推荐于2017-09-27 · TA获得超过191个赞
知道答主
回答量:39
采纳率:0%
帮助的人:60.6万
展开全部
结果是:8

首先 & 是按位与运算,1&1=1,1&0=0,0&1=0,0&0=0

12 是十进制的,表示为二进制是 1100
012 是八进制的,表示为二进制是 1010
1100 & 1010 = 1000

二进制为1000的,表示为十进制就是 8
这样解释不知道你是否明白
baohuan_love
2012-09-21
知道答主
回答量:58
采纳率:0%
帮助的人:12.6万
展开全部
输出结果:8
代码含义:这条语句是以十进制形式打印12&012的结果;
解析过程:&是位运算与,即按二进制位与,同1则1,否则为0。012为8进制数,化为二进制数为:1010;十进制数12,化为二进制数为1100;两个数只有左边第一位都为1,因此与运算结果为1000,化为十进制数为8。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
焚仙之城
2017-07-03
知道答主
回答量:19
采纳率:0%
帮助的人:3.6万
展开全部
位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
12&012转为二进制为:
B1100&B1010,
按位计算结果为B1000,(就是看上面两个二进制数相对应位是否相同,相同则保留,不同则为0)
即结果为B1000,也就是8。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编码艺术家
2012-09-21 · 超过26用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:34.3万
展开全部
012是一个8进制数,相当于2进制的1010b。这个程序的意思是输出整数,这个整数是由整数12(2进制的1100b)与1010b的“按位且”的操作,得到1000b,就是十进制的8。所以输出8.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沐浴阳光的鱼8
2012-09-21 · 超过11用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:33.4万
展开全部
分析:12&012。首先12是十进制数,012是八进制数,&是与运算
计算:先将两个数转化成二进制数001 100,001 010再作与运算结果为001 000,以十进制输出:8(换行)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式