Почему при процессоре с разрядностью 64 бита, integer занимает 2^32 значений?
Всем салют
Суть вопроса
Есть скомпилированная программа на си через clang. В ней я объявлен integer. В интернете сказанно, что integer занимает стандартное машинное слово. У меня процессор 64бит, ОС тоже (x64).
Следовательно integer должен принимать 2^64 значений.
Почему мой integer принимает только 2^32 значений?
*Авторам компилятора.
Стандарт таки разрешает 64битный int
И если есть int64_t, то есть и long long который тоже гарантирует 64 бита, и в который раскрывается int64_t на поддерживаемых платформах