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

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

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

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

Вместо:

Исходный код выложен здесь:codepad.org/S1TT56PR (см. ссылку в UPDATE2).
UPDATE1:
Товарищ gribozavr справедливо заметил, что правильней использовать константу CHAR_BIT вместо числа 8 в коде.
UPDATE2:
Товарищ mark_ablov указал на изъян в конструкторе копирования, код в статье обновлён и вот исправленная версия кода: http://codepad.org/knEKdNJX.

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

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

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

Вместо:

Исходный код выложен здесь:
UPDATE1:
Товарищ gribozavr справедливо заметил, что правильней использовать константу CHAR_BIT вместо числа 8 в коде.
UPDATE2:
Товарищ mark_ablov указал на изъян в конструкторе копирования, код в статье обновлён и вот исправленная версия кода: http://codepad.org/knEKdNJX.