C语言中 printf("%d\n",12&012);这条语句什么意思啊?输出结果是什么?
7个回答
展开全部
输出结果: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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
12&012转为二进制为:
B1100&B1010,
按位计算结果为B1000,(就是看上面两个二进制数相对应位是否相同,相同则保留,不同则为0)
即结果为B1000,也就是8。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
12&012转为二进制为:
B1100&B1010,
按位计算结果为B1000,(就是看上面两个二进制数相对应位是否相同,相同则保留,不同则为0)
即结果为B1000,也就是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(换行)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询