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