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

Размер байта - C++

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.11.2012, 10:31     Размер байта #1
Есть ли он в std::numeric_limits? Гарантирует ли стандарт какому либо типу разрядность 1 байт?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
22.11.2012, 10:39     Размер байта #2
В climits есть размер char в битах - CHAR_BIT.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
22.11.2012, 11:25     Размер байта #3
Цитата Сообщение от taras atavin Посмотреть сообщение
Гарантирует ли стандарт какому либо типу разрядность 1 байт?
Тип char по стандарту обязан быть равен 1 байту. Соответственно по мимо char, так же должны быть равны байту unsigned char и signed char.

Цитата Сообщение от taras atavin Посмотреть сообщение
Размер байта
А это уже платформозависимость. Стандарт не ограничивает размер 1 байта.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.11.2012, 11:28  [ТС]     Размер байта #4
Цитата Сообщение от Toshkarik Посмотреть сообщение
А это уже платформозависимость. Стандарт не ограничивает размер 1 байта.
Вот именно. А мне надо на любой платформе получить размер типа в битах. sizeof возвращает байты.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
22.11.2012, 11:30     Размер байта #5
taras atavin, ну так Вы должны учитывать данную особенность платформы, под которую разрабатываете. Evg вроде говорил, что не так уж и много процессоров с числом бит в байте отличным от 8. И это в основном процессоры в встраиваемой технике.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.11.2012, 11:50  [ТС]     Размер байта #6
А в std::numeric_limits есть количество бит?

Добавлено через 1 минуту
Цитата Сообщение от Toshkarik Посмотреть сообщение
ну так Вы должны учитывать данную особенность платформы, под которую разрабатываете.
Что я и хочу сделать, только единообразно, чтоб при миграции не переписывать данный кусок.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
22.11.2012, 11:52     Размер байта #7
taras atavin, Нет. Откуда? Макросом объявлено в limits.h. http://en.cppreference.com/w/cpp/types/numeric_limits
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2012, 11:55     Размер байта
Еще ссылки по теме:

Битовое представление каждого байта C++
C++ UTF-8 признак последнего байта
Заполнить 16 бит (2 байта) единицами и нулями C++
Четыре байта в один int C++
C++ День Святого Байта(задача)

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
22.11.2012, 11:55     Размер байта #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Есть вот это: http://en.cppreference.com/w/cpp/typ..._limits/digits
Т.е. std::numeric_limits<unsigned char>::digits == CHAR_BIT .

Добавлено через 48 секунд
Непонятно только чем CHAR_BIT не угодил.
Yandex
Объявления
22.11.2012, 11:55     Размер байта
Ответ Создать тему
Опции темы

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