| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5208 人关注过本帖, 1 人收藏
标题:关于unsigned int的 问题
取消只看楼主 加入收藏
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
收藏(1)
 问题点数:0 回复次数:4 
关于unsigned int的 问题
#include <stdio.h>
main()
{int a,b,c;
unsigned u,d;
a=12;b=-24;u=10;c=a+u;d=b+u;

printf("a+u=%d,b+u=%d\n",c,d);
}

我定义的d是无符号的整型变量,算出来的d=b+u=-14,但因为d是无符号的整型变量,不应该显示的是14吗?
为什么我的执行结果却是b+u=-14.  无符号的变量能和有符号的变量做运算么? 结果若定义位unsigned的就是无论正负都是正的么?
搜索更多相关主题的帖子: include 
2012-07-24 14:41
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
收藏
得分:0 
版主 还是你来吧! 你有QQ不 想和你交个朋友!拯救我们这些小白们吧
2012-07-24 14:47
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
收藏
得分:0 
苦命的孩子没有书 我是看的网上看的谭浩强讲义的教学视频 视频上定义的d是int 我自己想的如果把d定义为unsigned 结果会是什么样结果出来是负的,就遇到问题了 。好吧我在网上查查资料吧。
2012-07-24 15:01
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
收藏
得分:0 
我好像了解了 是printf 输出的格式我给的是%d整型的 没有规定没符号(应该是%u)对吧。
对于printf %d %u %f 输出格式的部分现在还不是分的很清 慢慢学吧!
2012-07-24 15:14
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
收藏
得分:0 
呵呵,谢谢虽然你里面说的许多专业的术语 对我们这些小白还并不太听懂 。但我了解这是怎么回事了 也知道要是改成%u 后面出来的那个4294967282 是怎么来的了 就是先用二进制表示翻译-14 在用unsigned int 用十进制的翻译出来的。
无论前面定义的是什么 后面决定执行.EXE所显示结果的格式是由你的printf的格式所限制的 你让它以什么形式表现出来 它就以什么形式表现。
2012-07-24 15:53
快速回复:关于unsigned int的 问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034230 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved