Страницы

Поиск по вопросам

среда, 17 апреля 2019 г.

Как получить размерность int в байтах ? Без использования sizeof

Это каким-то образом связано с переполнением?


Ответ

Для беззнаковых сработает такой вариант
unsigned int a = (unsigned int)-1; unsigned int bits = 1; while (a >>= 1) bits++; unsigned int bytes = bits / 8;
Впрочем, количество бит в байте не оговорено стандартом.

Комментариев нет:

Отправить комментарий