我想知道是否可以在数组中存储大于9的数字。例如是 Int myarray [0] = 1234567898
根据我对数组的了解,它们只能是整数,其中最高数字是9位数字。
是否可以更改数据类型或更大的数字。如果没有其他方法可以做到这一点
答案 0 :(得分:2)
很有可能。 C ++ 11增加了对long long
的支持,它通常是64位(更大),最多可存储19位数,许多编译器在此之前支持它作为扩展。如果数组足够大并且您具有必要的数学,则可以在数组中存储任意大的数字。但是,它并不令人愉快,更容易下载一个库来为您完成。这些被称为bignum或任意大小的整数库,它们使用数组来存储机器可以处理的任何大小的整数。
但仍然无法在long long
之上表达文字。
答案 1 :(得分:1)
32位int
的最大值为2147483647
- 即10位数。如果您需要高于此值的值,则需要使用64位int(long long
,__int64
,int64_t
等,具体取决于您的编译器。)
答案 2 :(得分:-1)
我担心你认为整数只能代表一个十进制数字是不正确的。另外你的想法是数组只能保存整数是不正确的。 int通常是计算机最有效的整数类型。这在大多数机器上是16位,32位或64位二进制数据,因此可以达到2 ^ 16(65k),2 ^ 32(4百万)或2 ^ 64(非常大)。它很可能是你机器上的32位,因此可以存储高达400多万的数字。如果您需要更多类型,例如长和长可用。
最后,数组可以包含任何类型,只需将它们声明为:
type myarray[arraysize];