Различия типов int и short |
Здравствуйте, гость ( Вход | Регистрация )
Различия типов int и short |
AD |
29.12.2010, 9:10
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вопрос для общеобразовательной цели - в чем различие типов short и int? Поискал в интернете - ответы настолько противоречивые, что так и не пришел к одному выводу. Основным различием называют то, что short всегда 16-разрядный, а int зависит от платформы и компилятора, но даже это многими оспаривается. А есть ли точный ответ?
|
|
|
Iron Bug |
1.1.2011, 15:16
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
во многих компиляторах определены типы int8 (16,32...). как правило, тип int равен ширине шины. но бывает (при стандарте x86-64 берётся тип основных регистров, используемых конкретной осью). однако, среди всего многообразия компиляторов я ещё не видела, чтобы short был бы не двухбайтовый. исключения - компиляторы для DSP процессоров, там просто все типы данных - long, ибо процессор так устроен, что не может работать с меньшей длиной, поэтому там типы - чистая формальность, там даже char длиной в два слова. вот там нужно самому следить, чтобы сравнения были корректны и там для этой цели реализованы специальные функции приведения для корректного отсечения мусора при сравнении данных, а длина всегда 4. но в остальных случаях компилятор будет проверять длину данных. сколько видела компилеров, для всех short - это 2 байта. ну а представление байтов зависит от проца.
|
|
|
Текстовая версия | Сейчас: 26.11.2024, 7:47 |