Сохранить цифру больше 9 в массиве

0

Мне интересно, можно ли хранить цифру размером более 9 в массиве. Например, Int myarray [0] = 1234567898

Из того, что я знаю о массивах, они могут быть только целыми числами, в которых наибольшее число будет 9-значным числом.

Возможно ли изменить тип данных или увеличить цифру. Если нет, то какие другие способы сделать это

  • 0
    ты пробовал длинный тип данных?
  • 10
    Я ... ты ... я имею в виду ... хм ... что?
Показать ещё 6 комментариев
Теги:
arrays

3 ответа

2

Это вполне возможно. С++ 11 добавляет поддержку long long которая обычно составляет 64 бит (намного больше), которая может хранить до 19 цифр, а многие компиляторы поддерживали ее до этого как расширение. Вы можете хранить произвольно большие числа в массиве, если массив достаточно велик, и у вас есть необходимая математика. Тем не менее, это не приятно и проще, так это скачать библиотеку, чтобы сделать это за вас. Они известны как бинарные или произвольные размеры целочисленных библиотек, и они используют массивы для хранения целых чисел любого размера, который может обрабатывать ваш компьютер.

Однако до сих пор невозможно выразить буквальный long long.

  • 0
    Хорошая информация, хотя я не думаю, что это действительно отвечает на вопрос. Я действительно не думаю, что спрашивающий понимает, что целочисленные типы - это биты вообще. Вы можете представить, что int на самом деле первым.
  • 1
    Он делает, это просто плохо сформулировано.
Показать ещё 3 комментария
1

32bit int имеет максимальное значение 2147483647 - это 10 цифр. Если вам нужны значения выше этого, вам нужно использовать 64- __int64 int (long long, __int64, int64_t и т.д., В зависимости от вашего компилятора).

-2

Я боюсь, что ваша идея о том, что ints может представлять только одну десятичную цифру, неверна. Кроме того, ваша идея, что массивы могут содержать только ints, неверна. Обычно int является наиболее эффективным интегральным типом компьютера. Это на большинстве машин 16, 32 или 64 бита двоичных данных, таким образом, они могут достигать 2 ^ 16 (65 тыс.), 2 ^ 32 (4 миллиона) или 2 ^ 64 (очень большие). Это, скорее всего, 32 бита на вашем компьютере, таким образом, номера могут быть сохранены только до 4 миллионов. Если вам нужно больше, чем такие типы, как длинный и длинный, доступны.

Наконец, массивы могут содержать любой тип, вы просто объявляете их как:

type myarray[arraysize];

Ещё вопросы

Сообщество Overcoder
Наверх
Меню