unsigned int a=65535,用十进制输a出等于?1,为什么?请高手分析下
unsigned int a=65535,用十进制输a出等于?1,为什么?请高手分析下
日期:2017-09-24 23:21:49 人气:1
你的int 应该是 16 bits 的
65535(10)=1111 1111 1111 1111 (2)
因为你输出是用%d吧 ,这是有符号输出 最高位1表示 负数.
1111 1111 1111 1111 (2)--(补码)---->0000 0000 0000 0001(2)
所以是 %d输出是-1 如果用%u 输出就是 65535
你想学习C 可以下 c-free dev c++ C++都可以写C的