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

C++

Войти
Регистрация
Восстановить пароль
 
Байт
Эксперт C
15636 / 9978 / 1499
Регистрация: 24.12.2010
Сообщений: 18,742
#1

long > short ? - C++

11.12.2011, 00:24. Просмотров 738. Ответов 3
Метки нет (Все метки)

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

Short long - C++
Здравствуйте. Я новичек в C++ и, читая книгу, наткнулся на такой заинтересовавший меня абзац. У меня возникло несколько вопросов...

Char, short, int, long: какой тип выбрать? - C++
Всем привет Читая книги по C++ столкнулся с тем, что везде пишут примерно одно и тоже. Допустим про char, short, int, long пишут что...

Программа, которая выводит на экран значение функции sizeof от типов short, int, long и тд - C++
Кого не затруднит, создайте новый проект. Определите размерность базовых типов в вашей системе. Для этого напишите программу, которая...

Создать объединение, что содержит элементы типов char int short fload long string - C++
всем доброго времени суток! мне нужно создать объединение, что содержит элементы типов char int short fload long string. создать массив...

В чем разница между long int и short int - C++
Извините если вопрос нубский, но я ни как не могу понять смысл long int и short int. Например с unsingned все ясно. Один байт в int...

Почему такой вывод (sizeof(short + short) - 4) - C++
int _tmain(int argc, _TCHAR* argv) { short a = 3; short b = 5; cout << sizeof(a) << endl; cout << sizeof(b) << endl; ...

Undefined reference to Out32(short, short) - C++
Всем привет.подскажите в чём может быть проблема?Сode::Blocks ос Win7x32. вроде все библиотеки inpout32 прикручены к проекту...но я так...

short int и short - C++
Какая разница, инициализирую я переменную как short int или же как short ? Вроде и тот, и тот тип данных компилятор понимает :)

Как преобразовать char[8] к unsigned long long? - C++
Требуется выполнить преобразование char к unsigned long long и обратно

Как сравнить long long с нулем? GNU С++ - C++
Надо сравнить a>=0, где a типа long long int на GNU C++ (__int64 в гну не работает). Компилится нормально, только выполняется неправильно....

Как процессор работает с long long int ? - C++
На моей системе (WinXP SP3 32bit) sizeof(long long int); возвращает 8. 8 Байт. Это 64 бита. Как процессор работает с такой переменной, если...

long long int и его поведение в структуре - C++
#include <iostream> struct IndexBase { public: int x; int y; int z; unsigned int lastChange; unsigned long long int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
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
Байт
Эксперт C
15636 / 9978 / 1499
Регистрация: 24.12.2010
Сообщений: 18,742
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
Эксперт CАвтор FAQ
17464 / 5702 / 361
Регистрация: 30.03.2009
Сообщений: 15,654
Записей в блоге: 26
11.12.2011, 13:27     long > short ? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Байт Посмотреть сообщение
Встречались ли вам реализации, где long = short ?
Такое бывает, как правило, на сигнальных процессорах, где память адресуется с точностью до фрагмента размером 32 бита (т.е. 1 байт = 32 бита). Не думаю, что тебе это интересно. А на всех универсальных процессорах можно закладываться на то, что long шире short'а
Yandex
Объявления
11.12.2011, 13:27     long > short ?
Ответ Создать тему
Опции темы

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