标题:int与unsigned相加
只看楼主
kingmacrobo
Rank: 2
来 自:HUST
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-6-1
结帖率:100%
已结贴  问题点数:20 回复次数:23 
int与unsigned相加
int i = -20;
unsigned j = 10;
i+j的值为多少?为什么?
搜索更多相关主题的帖子: int unsigned 相加 
2010-06-08 13:18
NOMIPS
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:86
专家分:537
注 册:2010-3-31
得分:15 
有符号整数与无符号整数做数学运算时会自动转换为无符号类型。
32位的int类型时 -20为4294967276 i+j = 4294967286
2010-06-08 15:09
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
得分:2 
同意楼上观点!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-08 15:54
kingmacrobo
Rank: 2
来 自:HUST
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-6-1
得分:0 
谢谢。。。学习了
2010-06-08 18:22
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
得分:3 
规则是把有符号变成无符号,把短字节的变量编程长字节的变量
2010-06-08 18:42
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
请大家实际编译运行一下再下结论不迟.
2010-06-08 22:53
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
得分:0 
楼主是这样输出 吗
main()
     {
         int i = -20;
         unsigned j = 10;
         printf("%d",i+j);
         }
2010-06-09 11:47
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:0 
回复 6楼 广陵绝唱
广陵绝唱版主,您说说您实际编译了,是什么结果?

我就是真命天子,顺我者生,逆我者死!
2010-06-09 11:52
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
回复 8楼 BlueGuy
我用 Editplus+gcc 编译结果,为 -10 .没用别的编译器,不知道你们用的什么编译器?我一会再用 WIN-TC 试一下.
2010-06-09 12:01
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
win-tc 下编译运行,结果也为 -10;
2010-06-09 12:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-309596-1-1.html




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

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