标题:为什么输出的结果是4294911040,怎么得到的?(新手)
只看楼主
heng,ha!
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-10-11
 问题点数:0 回复次数:1 
为什么输出的结果是4294911040,怎么得到的?(新手)
#include<stdio.h>
 main()
{
    long y=-23456;
    unsigned int z=32800,sum2;
    sum2=y-z;
    printf("%u",sum2) ;
}
搜索更多相关主题的帖子: 输出 结果 unsigned int printf 
2018-12-28 20:25
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
long y=-23456;存在两种转换
1.long转换为int,位数会变短,精度变小
2.负数变成正数,用补码表示
2018-12-28 21:23



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




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

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