永发信息网

C语言:从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

答案:1  悬赏:20  手机版
解决时间 2021-04-03 07:47
C语言:从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
最佳答案
把最后的printf("%d",sum)改成printf("%u",sum)。
所有大于0x80000000的数用%d输出时,都是负数。追问哦~~如此~~谢谢
还有一个疑问,那这样的话,可以把sum的类型就固定在“int ”型而不改成“unsigned ”型么?为什么?追答可以。不管你把他定义成int还是unsigned,二进制表示是不会变的。仅仅在解释成10进制时有所不同。追问这样..可是如果仅仅把sum定义为整型的话,它在变化过程中所存储的数据的范围不会超过所能存储的整型数据的范围么?这样为什么不会有问题啊?追答所谓溢出,是对十进制来说的。对二进制来说,只有简单的、统一的二进制加法。
0x7F FF FF FF,不论是int还是unsigned,+1都会变成0x80 00 00 00。对int来说,这是负数,对unsigned来说,却是正数。但是万变不离其宗,这个数的二进制值总是0x80 00 00 00。
只要你适应int溢出的规律,那么不管是-2147483648的int值,还是2147483648的unsigned值,你的眼前只有0x80 00 00 00这一个值。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
巨蟹座女跟她聊天回信息很快,但关心她的话就
2004年我型我秀评委是谁?
春日不含杨柳风的上一句
说明只有什么才能揭开大自然的奥秘
关于发布2016年“AAA级安全文明标准化工地"的
买过淘宝网市舶司东西的买家,您三思了吗?
接触网防风拉线主要作用是防止什么偏移
澳大利亚的放假时间?
偶然听到的歌 歌词有 太太太太多余问问问问我
小儿病毒性腹泻吃什么
我的电脑桌面上的所有东西打开都要用打开方式
我叫田栀毓是出自那部小说
有拉萨有什么诗句
11000用日语怎么说?
你有几个真朋友?
推荐资讯
今年中甲冲超哪只球队希望最大?
教师资格证五年过期需要重新考试吗?
创业板门槛是什么?
禾煊化妆品地址好找么,我有些事要过去
某工厂生产零件的合格率是98%,生产2000个零
请问醋酸菌是哪种微生物?
咔巴瘦是不是传销?
上班困了有什么办法解困吗?
gtx550ti gtx760 gtx960哪个玩游戏好
QQ中使用厘米秀是不是有QQ版本限制?
一个猪的肠子可以装整个猪吗
04款帕萨特开启后备箱按扭位置
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?