C语言中的有符号数和无符号数问题
为什么我在C中写unsignedlonginta=4294967295;//2的32次方-1可是printf("%d",a);的结果为-1?无符号长整型不是4个字节吗?最...
为什么我在C中写
unsigned long int a=4294967295; //2的32次方-1
可是
printf("%d",a);
的结果为-1?
无符号长整型不是4个字节吗?最大存储数应该可以达到4294967295啊?
现在只能达到2的31次方,变成有符号数了 展开
unsigned long int a=4294967295; //2的32次方-1
可是
printf("%d",a);
的结果为-1?
无符号长整型不是4个字节吗?最大存储数应该可以达到4294967295啊?
现在只能达到2的31次方,变成有符号数了 展开
4个回答
展开全部
printf("%u", a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最高一位代表符号为:1代表负数,0代表正数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%d是把这段内存当作long来显示值,和你怎么声明的没关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询