powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Стандарты для типов
21 сообщений из 21, страница 1 из 1
Стандарты для типов
    #33389466
Существуют ли в C++ четкие стандарты для примитивных типов, т.е. сколько байт отводится на short,int,double...
Есть ли 64 битные типы?
...
Рейтинг: 0 / 0
Стандарты для типов
    #33389834
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
char
short
long
long long
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390002
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новый гостьСуществуют ли в C++ четкие стандарты для примитивных типов, т.е. сколько байт отводится на short,int,double...
Есть ли 64 битные типы?
в том то и дело, что на разных платформах по разному....
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390179
а можно ли как то универсально определить размерность?
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390262
rikman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sizeof()
Код: plaintext
1.
printf("short=%d, int=%d, long=%d, float=%d, double=%d\n", sizeof(short),sizeof(int),sizeof(long),sizeof(float),sizeof(double));
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390275
sizeof() -это хорошо - но вот как быть увереным что short это 2 байта для любой платформы
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390294
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем тебе это ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390325
rikman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
новый гостьа можно ли как то универсально определить размерность?
2.
новый гостьsizeof() -это хорошо - но вот как быть увереным что short это 2 байта для любой платформы
С логикой вообще дружите или где?
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390373
rikman1.
новый гостьа можно ли как то универсально определить размерность?
2.
новый гостьsizeof() -это хорошо - но вот как быть увереным что short это 2 байта для любой платформы
С логикой вообще дружите или где?

что за наезды?

Вопросы вполне логичны ! Мне нужно четко знать что например тип short - 2 байта внезавиимо от платформы на которой компилю! Это нужно ну например проверить 9ый бит равен 0 или 1.
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390790
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдя. Проблема стара как сам язык. В документации по стандарту
С++ нигде не указывается точно разрядность. Есть скупое упоминание
о том, что int равен размеру машинного слова для текущей платформы.
Посмотрите как проблему разрядности решают другие программеры.
Обычно в хедеры пихают макросы, которые проверяют тип платформы
и создают соответствующие typedef-ы. Некоторые производители
компилеров создают свои собственные зарезервированые слова
(__int32, __int64) .
...
Рейтинг: 0 / 0
Стандарты для типов
    #33390853
homichus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В книге Страуструпа по ЦПП про размеры говорится так:
размеры в цпп выражаются в единицах размера чар, т.е. чар по определению раверн 1.

1=sizeof(char)<=sizeof(short)<=sizeof(int)<=sizeof(long)
1<=sizeof(bool)<=sizeof(short)
......................

еще говорится, что шорт не меньше 16ти бит, а чар восьми.
и т.п. там еще про это написано, см книгу.

а как резюме ответа на вопрос - нет.



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Стандарты для типов
    #33393175
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новый гостьСуществуют ли в C++ четкие стандарты для примитивных типов, т.е. сколько байт отводится на short,int,double...
Есть ли 64 битные типы?

нету правил. Вот в VC++ есть
__int8, __int16, __int32, __int64

очень удобно
...
Рейтинг: 0 / 0
Стандарты для типов
    #33406566
Фотография sdk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наскока я знаю, абсолютно можно быть уверенны тока в одном - что char это 8 бит на любой платформе.

Так что, если задача работа с битами, то уж проще битовые поля что ли использовать.

Если же нужны стандартные типы - то наиболее безопасно char. Или несколько подряд идущих char'ов.

То есть, слава Богу, sizeof(char) == 1 и sizeof(char[5]) == 5

_______________________________________________
Человек ленив, и именно лень - двигатель прогресса.
...
Рейтинг: 0 / 0
Стандарты для типов
    #33406748
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkНаскока я знаю, абсолютно можно быть уверенны тока в одном - что char это 8 бит на любой платформе.
Нет, нельзя :)
Char равен байту на любой платформе, но байт не обязательно восемь бит.
...
Рейтинг: 0 / 0
Стандарты для типов
    #33407211
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, в языке нету. Есть кажется в posix и в конкретных компиляторах.
...
Рейтинг: 0 / 0
Стандарты для типов
    #33408007
Фотография sdk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl sdkНаскока я знаю, абсолютно можно быть уверенны тока в одном - что char это 8 бит на любой платформе.
Нет, нельзя :)
Char равен байту на любой платформе, но байт не обязательно восемь бит.

А на каких платформах байт не 8 бит? Не стеб, интересно правда. Не сталкивался.
...
Рейтинг: 0 / 0
Стандарты для типов
    #33408047
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На почивших
...
Рейтинг: 0 / 0
Стандарты для типов
    #33408058
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати из экзотики были еще компьютеры с троичной уравновешенной системой счисления
...
Рейтинг: 0 / 0
Стандарты для типов
    #33412436
Teem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В С++ стандартные типы уже не типы, а классы. Вот и создавай свой пользовательский класс, чтобы быть уверенным, что на любой платформе будет одно и тоже количество бит.
...
Рейтинг: 0 / 0
Стандарты для типов
    #33413299
freebeer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdk
А на каких платформах байт не 8 бит? Не стеб, интересно правда. Не сталкивался.
См программирование микроконтроллеров. В качестве примера . Не сошелся на Intel свет клином
...
Рейтинг: 0 / 0
Стандарты для типов
    #33413489
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdk White Owl sdkНаскока я знаю, абсолютно можно быть уверенны тока в одном - что char это 8 бит на любой платформе.
Нет, нельзя :)
Char равен байту на любой платформе, но байт не обязательно восемь бит.

А на каких платформах байт не 8 бит? Не стеб, интересно правда. Не сталкивался. На последних x86 не выровненные по 32бита октеты из памяти изымать накладно.
В Джаве тип byte который всегда восемь бит хоть и есть, но JVM его как правило выравнивает (и в массивах тоже!), так что никакой экономии памяти по сравнению с int нет.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Стандарты для типов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]