智慧树要枯了 2016-03-31 12:07 采纳率: 37.5%
浏览 5089

int型的数字最大输出上限是不是9位呀,为什么我一旦输入10位数它就没数值了?

// IP地址转换.cpp
#include "iostream"
#include "windows.h"
using namespace std;

int main()
{
int i=0,j;
long r=0;
int x=0,y=0;
int a[1000];
cin>>r;
while(r!=0)
{
a[i]=r%16;
r=r/16;
i++;
}
for(j=i-1;j>=0;j--)
{
if(j%2==1)
x=a[j]*16;
else if(j%2==0&&j!=0)
{
y=a[j]*1;
y=x+y;
cout<<y<<".";
}
else
{
y=a[j]*1;
y=x+y;
cout<<y;
}
}
cout<<'\n';
system("pause");
return 0;
}
//我想输入一个十进制数,然后把它变成16进制,最后以ip地址的形式数出来。
但在这里我一旦输入10位数,它就没用了。

  • 写回答

2条回答 默认 最新

  • 小灸舞 2016-03-31 12:10
    关注

    如果楼主的sizeof(int)是4的话,那么int的范围将是-2147483648~2147483647
    楼主用10位数的当然没有用了,可以用long long来存

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大