Pull to refresh

Подсчёт числа установленных битов в файле

Reading time1 min
Views3.1K
Одна интересная реализация подсчёта числа установленных битов в файле. Код на языке C++ с обильным использованием STL. Если всё так хорошо, то почему это в блоге «Ненормальное программирование» (читатели настоятельно рекомендовали перенести в блог C++) спросите Вы? Сейчас увидите :)



Во-первых объявим класс битового итератора:



Теперь подсчитаем число установленных бит в исполняемом файле:



Забавно, неправда ли? А чтобы подсчитать число нулевых бит, всего лишь нужно вызвать:



Вместо:



Исходный код выложен здесь: codepad.org/S1TT56PR (см. ссылку в UPDATE2).

UPDATE1:
Товарищ gribozavr справедливо заметил, что правильней использовать константу CHAR_BIT вместо числа 8 в коде.

UPDATE2:
Товарищ mark_ablov указал на изъян в конструкторе копирования, код в статье обновлён и вот исправленная версия кода: http://codepad.org/knEKdNJX.
Tags:
Hubs:
Total votes 33: ↑16 and ↓17-1
Comments20

Articles