Показать сообщение отдельно
  #11  
Старый 23.04.2010, 18:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Можно еще хитрее:
Код:
function BitCount(B : Byte) : Integer;
const
  cMask : Array [1..8] Of Byte = (1,2,4,8,16,32,64,128);
begin
  Result := (B And cMask[1]) +
               (B And cMask[2]) +
               (B And cMask[3]) +
               (B And cMask[4]) +
               (B And cMask[5]) +
               (B And cMask[6]) +
               (B And cMask[7]) +
               (B And cMask[8]);
end;
Ответить с цитированием