
C语言中 printf("%d\n",12&012);这条语句什么意思啊?输出结果是什么?
5个回答
展开全部
输出结果:8
代码含义:这条语句是以十进制形式打印12&012的结果;
解析过程:&是位运算与,即按二进制位与,同1则1,否则为0。012为8进制数,化为二进制数为:1010;十进制数12,化为二进制数为1100;两个数只有左边第一位都为1,因此与运算结果为1000,化为十进制数为8。
代码含义:这条语句是以十进制形式打印12&012的结果;
解析过程:&是位运算与,即按二进制位与,同1则1,否则为0。012为8进制数,化为二进制数为:1010;十进制数12,化为二进制数为1100;两个数只有左边第一位都为1,因此与运算结果为1000,化为十进制数为8。
展开全部
012是一个8进制数,相当于2进制的1010b。这个程序的意思是输出整数,这个整数是由整数12(2进制的1100b)与1010b的“按位且”的操作,得到1000b,就是十进制的8。所以输出8.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分析:12&012。首先12是十进制数,012是八进制数,&是与运算
计算:先将两个数转化成二进制数001
100,001
010再作与运算结果为001
000,以十进制输出:8(换行)
计算:先将两个数转化成二进制数001
100,001
010再作与运算结果为001
000,以十进制输出:8(换行)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果是:8
首先
&
是按位与运算,1&1=1,1&0=0,0&1=0,0&0=0
12
是十进制的,表示为二进制是
1100
012
是八进制的,表示为二进制是
1010
1100
&
1010
=
1000
二进制为1000的,表示为十进制就是
8
这样解释不知道你是否明白
首先
&
是按位与运算,1&1=1,1&0=0,0&1=0,0&0=0
12
是十进制的,表示为二进制是
1100
012
是八进制的,表示为二进制是
1010
1100
&
1010
=
1000
二进制为1000的,表示为十进制就是
8
这样解释不知道你是否明白
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!
012表示八进制,二进制表示为001
010,所以
12&012
=1100&001010(二进制)
=1000(二进制)
=8
如有疑问,请追问。
012表示八进制,二进制表示为001
010,所以
12&012
=1100&001010(二进制)
=1000(二进制)
=8
如有疑问,请追问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |