Ответ:

Вариант на языке Pascal:

function kbdn(n: integer): integer;
var
  k: integer;
begin
  n := Abs(n);
  if n = 0 then
    kbdn := 1
  else
  begin
    k := 0;
    while n > 0 do
    begin
      n := n div 2;
      k := k + 1;
    end;
    kbdn := k;
  end;
end;

При переводе числа в двоичную систему его последовательно делят на 2. Количество делений до получения нуля равно количеству цифр двоичной записи.