在数组中存储大于9的数字

时间:2014-02-26 00:48:26

标签: c++ arrays

我想知道是否可以在数组中存储大于9的数字。例如是 Int myarray [0] = 1234567898

根据我对数组的了解,它们只能是整数,其中最高数字是9位数字。

是否可以更改数据类型或更大的数字。如果没有其他方法可以做到这一点

3 个答案:

答案 0 :(得分:2)

很有可能。 C ++ 11增加了对long long的支持,它通常是64位(更大),最多可存储19位数,许多编译器在此之前支持它作为扩展。如果数组足够大并且您具有必要的数学,则可以在数组中存储任意大的数字。但是,它并不令人愉快,更容易下载一个库来为您完成。这些被称为bignum或任意大小的整数库,它们使用数组来存储机器可以处理的任何大小的整数。

但仍然无法在long long之上表达文字

答案 1 :(得分:1)

32位int的最大值为2147483647 - 即10位数。如果您需要高于此值的值,则需要使用64位int(long long__int64int64_t等,具体取决于您的编译器。)

答案 2 :(得分:-1)

我担心你认为整数只能代表一个十进制数字是不正确的。另外你的想法是数组只能保存整数是不正确的。 int通常是计算机最有效的整数类型。这在大多数机器上是16位,32位或64位二进制数据,因此可以达到2 ^ 16(65k),2 ^ 32(4百万)或2 ^ 64(非常大)。它很可能是你机器上的32位,因此可以存储高达400多万的数字。如果您需要更多类型,例如长和长可用。

最后,数组可以包含任何类型,只需将它们声明为:

type myarray[arraysize];