2013-05-14 2 views
1

Можно ли указать тип данных, такой как int или long, чтобы иметь возможность хранить большее количество бит, чем обычно поддерживает?Указание количества бит для типа данных в C

Пример int поддерживает 32 бита и поддерживает 64 бит. Что делать, если я хочу долго поддерживать 128 бит или больше? Возможно ли это без помощи каких-либо библиотек?

+0

Аналогичный вопрос поможет вам, [Какой тип данных или структура данных выбрать для вычисления факториала 100?] (Http://stackoverflow.com/questions/15205587/which-data-type-or-data-structure -to-choose-to-calculate-factorial-of-100/15205645 # 15205645) Прочитайте мой ответ Я написал код в C –

+0

Возможный дубликат [Что является самым простым способом реализации bigint в C?] (http: // stackoverflow.com/questions/3340511/what-is-the-simplest-way-of-implementing-bigint-in-c) – alk

ответ

2

Это невозможно в C. Для этого вам нужно использовать некоторые библиотеки, такие как Bigint.

0

gcc поддерживает встроенные __int128_t и __uint128_t типы на 64-разрядных платформах.

0

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

Для больших целочисленных типов требуются несколько инструкций ЦП для выполнения основных операций и не являются неотъемлемыми операциями, а не частью основного языка C.

Это не жесткое определение C, но это разумное общее описание общей формулы проектных решений.

Смежные вопросы