(с ) Как узнать,какой размер... - вопрос №937177

Как узнать, какой размер в памяти занимает переменная определенного целочисленного типа? Как узнать максимальное значение, которое может принимать переменная определенного целочисленного типа?

Ответы

только из официального руководства по конкретному компилятору

даже для одного типа компьютеров и одной операционной системы, при совпадении названия типа данных его размер может отличаться для разных компиляторов одного и того же языка (хотя редко)

для разных языков такая вероятность уже существенно выше

для разных типов компьютеров и/или операционных систем, такая вероятность еще выше

ps стоит добавить что даже понятие «машинного слова» и «двойного слова» могут быть разними для разных типов процессоров

только бит и байт (и их производные) стандартизированы

но как только мы переходим к любому языку программирования отличному от машинных кодов — только официальная документация по компилятору является источником гарантированно правильных сведений такого рода

ps если для языка существует международный стандарт, который задает размерность типов данных, и компилятор его поддерживает — тогда документация обязательно будет отсылать на такой стандарт и уже он может быть источником такой информации

pps хорошая статья о размерах данных в языке Си

habrahabr.ru/post/156593/

особо обратите внимание на место:

C переносимый, поэтому в нём базовые целочисленные типы не имеют строго установленного размера, а зависят от платформы. Однако эти типы не были бы переносимы, если бы
их размеры были совершенно произвольные: стандарт устанавливает минимальные диапазоны принимаемых значений для всех базовых целочисленные типов

 

02.02.14
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store