黑马程序员技术交流社区

标题: c语言中%u范围是0-65535,为什么输出是65535 [打印本页]

作者: 847374032    时间: 2016-2-14 19:46
标题: c语言中%u范围是0-65535,为什么输出是65535
原题:
int k=-1;
printf("%d,%u\n",k,k)


作者: lichuanlong    时间: 2016-2-15 10:23
                                              {:2_44:}
作者: 6666225    时间: 2016-2-16 08:54
本帖最后由 6666225 于 2016-2-16 08:55 编辑

-1的二进制和无符号65535的二进制是一模一样的
-1的二进制
1111 1111 1111 1111 1111 1111 1111 1111
无符号65535的二进制
1111 1111 1111 1111 1111 1111 1111 1111


作者: 梦想家z    时间: 2016-2-16 13:40
负数输出的是补码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2