printf("%d,%o,%x",-1,-1,-1);

2025-02-26 21:10:33
推荐回答(5个)
回答1:

在程序设计中,数据在内存中都是以补码的形式存储的。
-1用原码表示为:
1000000000000001
它的补码为:
111111111111111;
而%d 表示以十进制形式输出数据 结果为-1;
%o表示以八进制形式输出数据 结果为177777;
%x表示以十六进制形式输出数据 结果为 ffff;
希望可以帮到你。

回答2:

整数-1在计算机中用16进制表示就是0FFFF。

%d将-1用整数显示,所以看到-1
%o将-1用8进制显示,你自己转换一下就能看到显示的结果吧。
%x将-1用16进制显示,所以看到ffff。

回答3:

这里是对-1进行不同的表示。
%d的意思是输出“以带符号的十进制形式输出整数(负数时输出符号,正数不输出。)”
%o的意思是“以无符号的八进制形式输出整数。”
%x的意思是“以无符号的十六进制形式输出整数。”

字节不同输出的结果可能也会不同吧,
不过我感觉这题的目的就是去我上面写的那些基本的意思吧。呵呵

回答4:

你定义的标识符不同,输出结果就不同,也就是输出不同类型的-1;

回答5:

整型的-1.八进制的-1,十六进制的-1(注:负数在2.8.16进制里,都是取反加一)