Правильно ли я понимаю:
Есть основные типы: int, double, float, char, string
Есть спецификаторы:
signed - он стандартный и его указывать нет смысла.
long - удваивает диапазон ( я видел long long, его можно сколько нужно раз писать -удваивать? Так можно со всеми спецификаторами?)
Short - уменьшает на два.
Unsigned - увеличивает на два, только для положительных.
Другие языки программирования и технологии
Спецификаторы типов переменных
Я так понимаю, это Си?
1. Нет такого базового типа string
2. Есть 5 целочисленных знаковых типов signed char, short int, int, long int, long long int. Для каждого из них гарантируется некий минимальный (но не строго определенный) диапазон возможных значений.
3. Для каждого знакового целочисленного типа существует соответствующий ему беззнаковый, занимающий такой же объем памяти.
4. для любых двух целочисленных типов одинаковой "знаковости" и различными (хз как это по русски) coversion rank, множество значений "младшего" типа является подмножеством "старшего"
5. множество неотрицательных значений знакового типа является подмножеством значений соответствующего ему беззнакового.
6. три типа с плавающей точкой - float, double и long double. Множество значений предыдущего является подмножеством следующего.
7. char без спецификаторов - для символов, может быть как знаковым, так и беззнаковым (зависит от реализации). Гарантируется только, что базовый набор символов кодируется неотрицательными значениями и общий диапазон значений соответствует signed char или unsigned char.
И никакого "удваивает диапазон", "уменьшает на 2" и "увеличивает на 2" нет.
1. Нет такого базового типа string
2. Есть 5 целочисленных знаковых типов signed char, short int, int, long int, long long int. Для каждого из них гарантируется некий минимальный (но не строго определенный) диапазон возможных значений.
3. Для каждого знакового целочисленного типа существует соответствующий ему беззнаковый, занимающий такой же объем памяти.
4. для любых двух целочисленных типов одинаковой "знаковости" и различными (хз как это по русски) coversion rank, множество значений "младшего" типа является подмножеством "старшего"
5. множество неотрицательных значений знакового типа является подмножеством значений соответствующего ему беззнакового.
6. три типа с плавающей точкой - float, double и long double. Множество значений предыдущего является подмножеством следующего.
7. char без спецификаторов - для символов, может быть как знаковым, так и беззнаковым (зависит от реализации). Гарантируется только, что базовый набор символов кодируется неотрицательными значениями и общий диапазон значений соответствует signed char или unsigned char.
И никакого "удваивает диапазон", "уменьшает на 2" и "увеличивает на 2" нет.
Не совсем так. Если возьмём язык C, то (sizeof - объём памяти, отводимый под значение указанного типа):
1. sizeof(char) = 1
2. sizeof(char) <= sizeof(short int) <= sizeof(int) <= sizeof(long int) <= sizeof(long long int). Не строгое увеличение - может быть и равенство размеров.
3. sizeof(float) <= sizeof(double) <= sizeof(long double)
3. unsigned не меняет размер, но меняет интерпретацию хранимого значения.
4. string не является базовым типом.
1. sizeof(char) = 1
2. sizeof(char) <= sizeof(short int) <= sizeof(int) <= sizeof(long int) <= sizeof(long long int). Не строгое увеличение - может быть и равенство размеров.
3. sizeof(float) <= sizeof(double) <= sizeof(long double)
3. unsigned не меняет размер, но меняет интерпретацию хранимого значения.
4. string не является базовым типом.
Ошибка в переводе. Тип long - это тип удвоенной точности. 32-битное число. А long long - 64-битное.
ага, написать long long long long int, и попрёт 128-битная арифметика из коробки.
Похожие вопросы
- Вопрос по типам переменных С++ и Pascal
- Как правильней сменить тип переменной ?
- С++, объект класса, экземпляр класса, какой тип переменной хранит экземпляр класса? (экземпляр это что? Word, lpstr..?)
- Помогите с программой по языку Pascal, задание на записи (комбинированный тип переменной).
- Определить тип переменных b: integer:
- C++. Можно сделать так, что бы тип переменной определялся сам? (Калькулятор) ...
- Как онулировать тип переменной char например был lol[3]="cok" а стал просто lol[3]?
- C++ Объясните пож. на доступном языке про спецификаторы класса памяти. В инете и в книгах слишком заумно. Продолж ниже.
- С# - нужно сделать так, чтобы консоль читала слова, как переменные, а не просто слова...
- [C/C++] Oбъявление переменной типа структуры в этой же структуре