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

 我来答
SSHHFF凤
2017-07-03 · TA获得超过1688个赞
知道小有建树答主
回答量:799
采纳率:83%
帮助的人:326万
展开全部

C语言中 printf("%d\n",12&012);这条语句的解析如下:
C语言中,printf是标准库中的一个函数,函数的功能是向控制台中输出文本信息。
%d 表示要输出的是一个整数。
& 是算术与的运算符号,对二进制来说 0&0 =0,0&1=0,1&0=0,1&1=1。
12 表示十进制数12,对应的二进制数是1100。
012表示八进制数12,对应的十进制数是10,对应的二进制数是1010。
(八进制数以“0”开头,十六进制数以“0x”开头。)
所以12&012用二进制表示是:
1100 & 1010=1000。
二进制的1000就是十进制数的8。
所以 12&012 = 8。
\n表示换行。
在手机上使用易历知食软件内部的微C程序设计功能来编程作演示,结果如下:
程序如下:

输出结果如下:

焚仙之城
2017-07-03
知道答主
回答量:19
采纳率:0%
帮助的人:3.6万
展开全部
位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
12&012转为二进制为:
B1100&B1010,
按位计算结果为B1000,(就是看上面两个二进制数相对应位是否相同,相同则保留,不同则为0)
即结果为B1000,也就是8。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弗弗罗戈
2017-07-03
知道答主
回答量:3
采纳率:0%
帮助的人:2801
展开全部
就是 0xc&0x12 即0x1100&0x10010 结果0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式