| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:为什么我这个算完之后最后一个是负数?
取消只看楼主 加入收藏
哀啼小新淫
Rank: 1
等 级:新手上路
帖 子:22
专家分:2
注 册:2013-1-12
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:3 
为什么我这个算完之后最后一个是负数?
程序代码:
#include<stdio.h>
int main()
{
    _int64 m,n;
    m=1,n=1;
    while(m<=64)
    {
        printf("%I64d %I64d\n",m,n);
        n=n*2;
        m++;
    }
    return 0;
}
为什么我用%I64d输出最后一个结果是负数,而用%I64u输出最后一个结果就变成整数了。
2013-03-29 16:36
哀啼小新淫
Rank: 1
等 级:新手上路
帖 子:22
专家分:2
注 册:2013-1-12
收藏
得分:0 
发帖没发好,那是两个程序。
2013-03-29 16:37
哀啼小新淫
Rank: 1
等 级:新手上路
帖 子:22
专家分:2
注 册:2013-1-12
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
这个是%I64d输出的结果。
图片附件: 游客没有浏览图片的权限,请 登录注册
这个是%I64u的结果。
我进行的都是乘法运算为什么会出现符号?
2013-03-29 16:42
哀啼小新淫
Rank: 1
等 级:新手上路
帖 子:22
专家分:2
注 册:2013-1-12
收藏
得分:0 
这溢出的也太巧了,正好就差个负号。
2013-03-29 18:29
快速回复:为什么我这个算完之后最后一个是负数?
数据加载中...
 
   



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

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