C语言中关于unsigned int 型的问题
发表在C语言图书答疑 2013-08-04
是否精华
版块置顶:
#include<stdio.h>
void main()
{
int a,b;
a=-12345u;
b=-12345;
printf("%d,%d\n",a,b);
}
-12345,-12345
Press any key to continue

有本书中说:“一个整常量后面加一个字母u或U,认为是 unsigned int 型,如12345u在内存中按 unsigned int 规定的方式存放(存储单元中最高位不作为符号位,而用来存储数据。
如果写成-12345u,则先将-12345转换其补码53191,然后按无符号数存储。)”
问:①,为什么结果相同,“都”是-12345,-12345  ?
②,如何验证 “如果写成-12345u,则先将-12345转换其补码53191,然后按无符号数存储。”这句话的正确与否?
③,如何输出数字等在计算机中的“补码”?
分享到:
精彩评论 1
cui_mrkj
学分:0 LV1
TA的每日心情
?
2020-08-20 13:57:19
2013-08-06
沙发
输出形式由输出格式控制,你两个都用%d输出,结果都是有符号十进制。
整数在内存中以二进制形式存储。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照