@mbcsoft

Почему при процессоре с разрядностью 64 бита, integer занимает 2^32 значений?

Всем салют
Суть вопроса
Есть скомпилированная программа на си через clang. В ней я объявлен integer. В интернете сказанно, что integer занимает стандартное машинное слово. У меня процессор 64бит, ОС тоже (x64).
Следовательно integer должен принимать 2^64 значений.

Почему мой integer принимает только 2^32 значений?
  • Вопрос задан
  • 303 просмотра
Решения вопроса 1
gbg
@gbg
Любые ответы на любые вопросы
Авторам стандарта так захотелось, только и всего. Используйте int64_t. В нем гарантированно 64 бита, даже на 32 битной машине.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
А еще зависит от того, под какую архитектуру вы скомпилили.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы