MyTetra Share
Делитесь знаниями!
Размеры базовых математических типов int, long в различных ОС в зависимости от битности
Время создания: 21.03.2022 10:42
Автор: xintrea
Текстовые метки: c++, int, long, размер, байт, битность
Раздел: Компьютер - Программирование - Язык C++ (Си++)
Запись: xintrea/mytetra_syncro/master/base/1647848568benlcwjaym/text.html на raw.github.com

Имеется следующая информация о размерах переменных базовых типов int и long в различных ОС (Windows, Linux, MacOs) и в зависимости от битности данной системы.





То есть, совокупность ОС и ее битности сводится к использованию определенной модели данных. Видно, например, что для Linux 32 bit (x86) и Linux 64 bit (x86-64) размер int не меняется, и составляет 4 байта (32 бита), а вот long меняется с 4 до 8 байт. Поэтому, простая перекомпиляция программы из 32-х битной OC в ОС с архитектурой в 64 bit не решает проблему ограничения беззнакового int значением в 4 миллиарда (4 294 967 295). Но и не увеличивает расход памяти, если в программе используются int-массивы.


Более наглядно эта информация представлена в следующей таблице:





Эту таблицу следует дополнить размером указателей:



Размер указателя



LP32

ILP32

LLP64

LP64

32

32

64

64



Тогда становится понятно, чем отличаются стандарты ILP32 и LLP64.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования