20 дек. 2012 г.

Задачка: зеркально отразить битовое представление

Как можно зеркально отобразить битовое представление 8 битного числа ? 16 битного числа ?

Например,
M(12310) = M(011110112) = 110111102 = 22210.

внимание! комментарии содержат ответ.

2 комментария:

  1. https://gist.github.com/raw/4359090/a902f6be264d55454de06edde8d57b271072fae2/bitrev.clj
    Как-то так. Последовательно меняются местами соседние биты, потом пары итд.

    ОтветитьУдалить
  2. @Анонимный

    Браво, реализация на clojure заслуживает похвалы и уважения. Используете в рабочих целях или так, плюшками балуетесь ?

    Конечно же идея не нова и детально изложена в Hacker's Delight 7-1

    ОтветитьУдалить