4. 执行语句printf(〃%x〃, -1);后输出结果是( ) A. -1 B. -ffff C. 1 D. ffff

[复制链接]
查看11 | 回复2 | 2010-11-23 19:33:09 | 显示全部楼层 |阅读模式
答案怎么是怎么算出来的呢,请详细解答一下 , 谢谢啊。

回复

使用道具 举报

千问 | 2010-11-23 19:33:09 | 显示全部楼层
答案是D。-1的符号在内存中是在存储长度的最高位通过0或1来表示,1表示负号,0表示正数。所以-1在内存的表示是1111111111111111。转换为十六进制就是长度是由计算机的cpu决定的。如果不是选择题的话,答案也有可能是ffffffff。
回复

使用道具 举报

千问 | 2010-11-23 19:33:09 | 显示全部楼层
D.ffff-1的内存表示为1111 1111 1111 1111 1111 1111 1111 1111转化为十六进制无符号类型则为ffff
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行