2 qq 20254167 qq_20254167 于 2016.03.31 20:07 提问

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

// 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个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.31 20:10

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

qq_20254167
qq_20254167 谢谢!完全正确!
2 年多之前 回复
VisualEleven
VisualEleven   Ds   Rxr 2016.04.01 17:34

_int64 ~~~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
马塞尔·普鲁斯特
当一个人不能拥有的时候,他唯一能做的便是不要忘记。生命只是一连串孤立的片刻,靠着回忆和幻想,许多意义浮现了,然后消失,消失之后又浮现。我终将遗忘梦境中的那些路径、山峦与田野,遗忘那些永远不能实现的梦。任何一样东西,你渴望拥有它,它就盛开。一旦你拥有它,它就凋谢。远远看去优美而神秘的人和事,只要拉近了看,就会明白它们原来既不神秘又不完美。我现在才明白,凡属严重错误都有一个共同的性质:那就是没有克制感情
12.5 int长度为10位的原因(21.47亿)
先人设计int整数型的时候可能用的是32位的处理器,所以int被设计成了32位的二进制,为表示数字正负,用二进制最前(最左)的一位表示,剩下31位二进制则构成了最大数2147483647。 之前看到一篇文章: 江南style点击率突破youtube计数器上限,浏览过,但没记地址。 youtube将计数器改成了64位,YouTube 的计数器能记录到最高92233720368547
【转】关于int范围中负数最小值的绝对值比整数最大值大初学C,问题源自:为什么C中的int类型(16位)的下溢下限为-32768而上溢上限却是32767。 首先说吧,32767很容易理解,32767=
初学C,问题源自:为什么C中的int类型(16位)的下溢下限为-32768而上溢上限却是32767。 首先说吧,32767很容易理解,32767=2^15-1 (因为要有一个符号位),但为什么下溢的时候分明是15位来表示的数会出现32768呢??   首先从原码讲起,原码即为计算机中对数值的二进制表示,如 5用二进制表示为0000 0101 ;   其次就是反码,反码
根据时间生成10位唯一性编码(最少9位)
private static char[] chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToArray();        public static string CreatCode()         {             int Year = Convert.ToInt32(Da
详解mysql int数字类型的长度值大小上限
我的朋友海滨问我mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都用int(11), 也不知道为什么要11位. 所以我在网上查阅了一些资料, 也仔细
为什么int类型(16位)的下溢下限为-32768而上溢上限却是32767
首先说吧,32767很容易理解,32767=2^15-1 (因为要有一个符号位),但为什么下溢的时候分明是15位来表示的数会出现32768呢??   首先从原码讲起,原码即为计算机中对数值的二进制表示,如 5用二进制表示为0000 0101 ;   其次就是反码,反码,顾名思义取反,对于正数来说,反码与原码相同;对于负数来说,反码为原码的各位取反(符号位除外),如(0011
Java学习之整数类型最大值最小值
Java中提供了long、int、short、ji
关于oracle的int能存储的最大最小值
在网上很多资料都说oracle的int类型相当于number(38),也有少量说是10^126-1的,今天特意测试了下发现,两个说法都不对.一下是次数代码: drop table tt3; create table tt3(a int ); insert into tt3 values(99999999999999999999999999999999999999994999999999999
zzuli OJ 1060: 逆序数字
Description  输入一个int型整数,将其逆序输出,每个数字后有一个空格。  Input  输入一个整数n,你可以假设n在int范围内  Output  将n按其逆序输出,每个数字后有一个空格,输出占一行。例如,输入12354,输出4 5 3 2 1  Sample Input 12354 Sample Output 4 5 3
关于数据输入之先输入int数值在输入string的一些小问题
今天在测试Scanner输入问题时候,偶然间发现JAVA在处理先输入一个int数然后在接收一整行字符串输入时候会出现一些意想不到的问题,遂记下,也给大家做个参考. 代码区: import java.util.Scanner; public class SannerDemo { public static void main(String[] args) { Scann