23.04.2010, 18:38
|
Модератор
|
|
Регистрация: 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;
|