智慧树要枯了 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来存

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题