作业帮 > 综合 > 作业

4.下述语句的输出为( ).Int x=-1; Printf(“%d,%u,

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/30 04:06:47
4.下述语句的输出为( ).Int x=-1; Printf(“%d,%u,
4.下述语句的输出为( ).
Int x=-1;
Printf(“%d,%u,%o”,x,x,x);
A.-1,-1,-1 B.-1,32767,-177777
C.-1,32768,177777 D.-1,65535,177777
4.下述语句的输出为( ).Int x=-1; Printf(“%d,%u,
D
这题是建立在int是16位整型的基础上的.
%d表示输出为整型数,所以就是原来的-1;
%u表示输出为无符号整型数,由于-1的补码是十六进制的FFFF,也就是十进制65535;
%o表示输出为8进制数,转换一下就是177777.
再问: -1的补码是多少,如何求的,它又怎么变为十六进制的,还有-1如何转换八进制的 谢谢!
再答: 计算机中都是用补码来表示负数的。 对于16位的整型数据,-1的补码是用对应的正数(也就是1)按位取反(得2进制的1111111111111110)后再+1,就是2进制的1111111111111111。为了方便所以用16进制表示为FFFF,也就是65535。 65535的8进制表示就是177777。
再问: 嗯,谢谢了