Форум программистов, компьютерный форум CyberForum.ru

long > short ? - C++

Войти
Регистрация
Восстановить пароль
 
Байт
 Аватар для Байт
14476 / 9190 / 1325
Регистрация: 24.12.2010
Сообщений: 16,838
11.12.2011, 00:24     long > short ? #1
Правда ли что long строго больше чем short ? Или существуют платформы и/или реализации, где long = short?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2011, 00:24     long > short ?
Посмотрите здесь:

Создать объединение, что содержит элементы типов char int short fload long string C++
C++ Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию
C++ В чем разница между long int и short int
C++ Размер для данных (int, char, long, double, short, unsigned, float)
C++ Возведение в степень по модулю для чисел близких к max long long
Почему такой вывод (sizeof(short + short) - 4) C++
C++ Не понятный undefined reference to `unsigned long long f<unsigned long long, void>
C++ Short long
Тип long long и его ввод\вывод с использованием scanf\printf C++
Char, short, int, long: какой тип выбрать? C++
Программа, которая выводит на экран значение функции sizeof от типов short, int, long и тд C++
C++ Undefined reference to Out32(short, short)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
11.12.2011, 00:45     long > short ? #2
3.9.1 Fundamental types
There are four signed integer types: “signed char”, “short int”, “int”, and “long int.” In this
list, each type provides at least as much storage as those preceding it in the list. Plain ints have the
natural size suggested by the architecture
те каждый следующий в списке должен быть не меньше по размеру
из этого же полагается, что long по размеру может быть равен short, а может и char
Байт
 Аватар для Байт
14476 / 9190 / 1325
Регистрация: 24.12.2010
Сообщений: 16,838
11.12.2011, 11:44  [ТС]     long > short ? #3
Цитата Сообщение от alex_x_x Посмотреть сообщение
3.9.1 Fundamental types

те каждый следующий в списке должен быть не меньше по размеру
из этого же полагается, что long по размеру может быть равен short, а может и char
Понятно...
Т.е. стандарт строгого неравенства не гарантирует.
Тогда поставим вопрос по-другому.
Встречались ли вам реализации, где long = short ?
Это, увы, не праздное любопытство. Связан этот вопрос с попыткой сделать достаточно общий пакет длинной арифметики. Идея в том, что используется 2^16 система счисления (short), но при действиях над разрядами они переводятся в long, что позволяет поймать переполнение (то, что "в уме"). Но этот подход работает только в том случае, когда long > short не менее, чем в 2 раза.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16943 / 5348 / 329
Регистрация: 30.03.2009
Сообщений: 14,383
Записей в блоге: 26
11.12.2011, 13:27     long > short ? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Байт Посмотреть сообщение
Встречались ли вам реализации, где long = short ?
Такое бывает, как правило, на сигнальных процессорах, где память адресуется с точностью до фрагмента размером 32 бита (т.е. 1 байт = 32 бита). Не думаю, что тебе это интересно. А на всех универсальных процессорах можно закладываться на то, что long шире short'а
Yandex
Объявления
11.12.2011, 13:27     long > short ?
Ответ Создать тему
Опции темы

Текущее время: 10:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru