77问答网
所有问题
语句printf("%d\n",12&012)的结果为什么是8
如题所述
举报该问题
推荐答案 2011-06-29
12&012
=00001100&00001010 //12是10进制,对应的2进制为00001100。
=00001000 //012是8进制,对应的2进制为00001010。
=8
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/YpIp8vYvW.html
其他回答
第1个回答 2011-06-29
1、要知道计算机里面所有的数据都是以2进制的方式存储和计算的;
2、在C语言中0开头的数字串表示8进制数值;
12用二进制表示是1100b,012是8进制数二进制表示是1010b;
1100b & 1010b = 1000b = 8;
相似回答
语句printf(
"
%d
\n"
,12&012)的结果为什么是8
答:
12&012
=00001100&00001010 //12是10进制,对应的2进制为00001100。=00001000 //012
是8
进制,对应的2进制为00001010。=8
C
语言中 printf(
"
%d
\n"
,12&012);
这条语句
什么
意思啊?输出
结果是
...
答:
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表示八...
printf(
"
%d
\n"
,12 &012)
答:
12 & 012 就是12和10进行按位与运算(012是八进制12),也就是:(二进制数)1100 & 1010 = 1000 即8
。问题补充的程序有问题。char类型的长度是一个字节,而0xffff已经是两个字节了。应该是0xff吧?printf("%d \n",x--)函数参数首先传递的是x--这个,但是它是先返回值才减小,因此x传递...
语句
:
printf(
"
%d
\n"
,12 &012);的
输出
结果是
答:
代码里面的
012
表示8进制下的
12,
也就是10,它的十六进制表示就是:000000000a,然后再把这两个数做与运算,前面的0都没有用,就只看最后的一位,也就是16进制的c和a进行与运算:c的二进制表示为1100,a的二进制表示为1010,它们进行与运算
的结果
就是1000,也就
是8
.所以输出结果是8 ...
printf(
"
%d
\n"
,12&012);
求输出
结果
答:
012表示八进制,二进制表示为001 010,所以
12&012
=1100&001010(二进制)=1000(二进制)=8
...a=1,b;
printf(
"%d\
n%d
\n",a,b
);
为什么
输出
结果
为: 1 8 这个8...
答:
这个8应该是未初始化
的结果,
c语言没有要求必须初始化(具体怎么处理看编译器的配置了),它在不同环境上跑的结果可能不一样。例如 上面那个才是debug单歩的输出
c
语言中printf(
"
%d
", '
12
'
);
输出的值是多少?
为什么
? 在线等答案...
答:
输出的内容是12849,因为'
12
'在内存里面是两个字节,0x310x32
,%d
把它作为一个整数处理,由于高低字节交换
结果
就是:0x3231,你可以用%X输出验证,10进制就是12849。
大家正在搜