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

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
其他人气:252 ℃时间:2020-12-06 00:30:16
优质解答
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。嗯,谢谢了
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版