-1无符号输出
#include <stdio.h>
int main()
{
short num = -1;
// 1000 0000 0000 0001(原码)
// 1111 1111 1111 1110(反码)
// 1111 1111 1111 1111(补码)
// 按无符号输出, 结果为什么不是 65535
printf("%u\n", num);
}
问题:结果为什么不是 65535
谢谢诸位
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你需要
格式化输出中有个 length 位来指示类型的, 具体如下图:
你得的结果应该是 4294967295 吧? 32位(not 16位),-1对应的2进制是 32个1,所以结果是2^32-1