Как использовать постоянные степени 2 для чтения в C ++?

Мне нужно несколько целочисленных констант с 2^n а также 2^n - 1 в моем GNU c++ код.

Что такое хорошая практика, чтобы сохранить код читабельным? В данный момент в коде используются десятичные значения 4294967296 и 65536, которые трудно отладить в будущем.

2^12 не реализован в стандарте C ++ и pow(2.0,12.0) использования double,

if (buffer_length == 4294967295){ } // code example, I want to make more readable

2

Решение

Вы можете использовать оператор сдвига влево:

if (buffer_length == 1 << 12){ }
3

Другие решения

Используйте гекс. Для любого должно быть довольно легко понять, что это специальный номер.

0

По вопросам рекламы [email protected]