Мне интересно, можно ли хранить цифру размером более 9 в массиве. Например, Int myarray [0] = 1234567898
Из того, что я знаю о массивах, они могут быть только целыми числами, в которых наибольшее число будет 9-значным числом.
Возможно ли изменить тип данных или увеличить цифру. Если нет, то какие другие способы сделать это
Это вполне возможно. С++ 11 добавляет поддержку long long
которая обычно составляет 64 бит (намного больше), которая может хранить до 19 цифр, а многие компиляторы поддерживали ее до этого как расширение. Вы можете хранить произвольно большие числа в массиве, если массив достаточно велик, и у вас есть необходимая математика. Тем не менее, это не приятно и проще, так это скачать библиотеку, чтобы сделать это за вас. Они известны как бинарные или произвольные размеры целочисленных библиотек, и они используют массивы для хранения целых чисел любого размера, который может обрабатывать ваш компьютер.
Однако до сих пор невозможно выразить буквальный long long
.
32bit int
имеет максимальное значение 2147483647
- это 10 цифр. Если вам нужны значения выше этого, вам нужно использовать 64- __int64
int (long long
, __int64
, int64_t
и т.д., В зависимости от вашего компилятора).
Я боюсь, что ваша идея о том, что ints может представлять только одну десятичную цифру, неверна. Кроме того, ваша идея, что массивы могут содержать только ints, неверна. Обычно int является наиболее эффективным интегральным типом компьютера. Это на большинстве машин 16, 32 или 64 бита двоичных данных, таким образом, они могут достигать 2 ^ 16 (65 тыс.), 2 ^ 32 (4 миллиона) или 2 ^ 64 (очень большие). Это, скорее всего, 32 бита на вашем компьютере, таким образом, номера могут быть сохранены только до 4 миллионов. Если вам нужно больше, чем такие типы, как длинный и длинный, доступны.
Наконец, массивы могут содержать любой тип, вы просто объявляете их как:
type myarray[arraysize];