Emacs Lisp: Convert Hexadecimal to Decimal
Decimal to Hexadecimal
To convert Decimal to Hexadecimal, just type the decimal number, then Alt+x eval-last-sexp
emacs prints result in Emacs: Messages Buffer
e.g.
255 (#o377, #xff)
means 255 in hexadecimal is ff
Hexadecimal to Decimal
in the same way, type the hexadecimal but start with #x
, then Alt+x eval-last-sexp
Emacs command to show the Hexadecimal in Decimal
Here's a elisp command that prints the decimal value of a hexadecimal string under cursor.
(defun xah-show-hexadecimal-value () "Prints the decimal value of a hexadecimal string under cursor. Samples of valid input: ffff → 65535 0xffff → 65535 #xffff → 65535 FFFF → 65535 0xFFFF → 65535 #xFFFF → 65535 more test cases 64*0xc8+#x12c 190*0x1f4+#x258 100 200 300 400 500 600 URL `http://xahlee.info/emacs/emacs/elisp_converting_hex_decimal.html' Version: 2020-02-17 2023-03-17" (interactive) (let (xinput xtemp xp1 xp2) (if (region-active-p) (setq xp1 (region-beginning) xp2 (region-end)) (progn (save-excursion (skip-chars-backward "[:xdigit:]#x") (setq xp1 (point)) (skip-chars-forward "[:xdigit:]#x") (setq xp2 (point))))) (setq xinput (buffer-substring-no-properties xp1 xp2)) (let ((case-fold-search nil)) (setq xtemp (replace-regexp-in-string "\\`0x" "" xinput)) ; C, Perl (setq xtemp (replace-regexp-in-string "\\`#x" "" xtemp)) ; elisp (setq xtemp (replace-regexp-in-string "\\`#" "" xtemp)) ; CSS ) (message "input 「%s」, Hexadecimal 「%s」 is 「%d」" xinput xtemp (string-to-number xtemp 16))))