пятница, 11 марта 2016 г.

Emacs Lisp. HEX to DEC and DEC to HEX

Последнее время частенько требуется по-быстрому перевести значения каких-нибудь параметров из hex в dec или наоборот. Наш самый надежный друг и товарищ Emacs всегда под рукой, а его служебный буфер *scratch*, в котором можно выполнять код Emacs Lisp, всегда готов услужить. Калькуляторами я не пользуюсь давно, ибо с помощью Emacs прикинуть какие-то цифры весьма и весьма удобно. И не только прикинуть, а еще и сконвертировать из одной системы счисления в другую. Да, я знаю о встроенном в Emacs калькуляторе, но работать с кодом Emacs Lisp, лично мне, как-то удобнее.
Итак, для того, чтобы преобразовать десятичное число в шестнадцатеричное или наоборот, следует воспользоваться встроенной в Emacs Lisp функцией format. Привожу примеры ее использования.
(format "%d" #x07d0)
"2000"

(format "%x" 505)
"1f9"

(format "%04x" 505)
"01f9"

(upcase (format "%04x" 505))
"01F9"

Комментариев нет:

Отправить комментарий