elisp - 转换十进制<->十六进制

标签 elisp

给定一个十进制数字列表,如何将每个数字转换为其等效的十六进制值,反之亦然?

例如:

(convert2hex 255 64 64); ->(FF 40 40)
(convert2dec FF 40 40); ->(255 64 64)

(convert2hex 255 64 64 255 64 64 128)
(convert2dec FF 40 40 FF 40 40 80)

最佳答案

十六进制数:

(format "%X" 255) ;; => "FF"

您还可以使用以下方法对值进行零填充:
(format "%03X" 255) ;; => "0FF"

其中0是用于填充的字符,而3是要填充的空格数。

十六进制字符串到数字
(string-to-number "FF" 16) ;; => 255
16的意思是“以16为底读”。

关于elisp - 转换十进制<->十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358604/

相关文章:

Emacs 注释/取消注释当前行

emacs - 将 emacs calc 向量插入 org-mode 表电子表格

emacs - `with-temp-file' 与 `org-map-entries' 的行为

emacsclient --create-frame 打开 *scratch* 即使设置了初始缓冲区选择

emacs - 如何在我的 elisp 包中优雅地放弃对旧版 emacsen 的支持?

shell - 自定义 shell 自动从 .emacs 启动

emacs - emacs启动后更改X11窗口标题

Emacs Lisp 函数,将区域写入文件并将其删除

可选部分的 Emacs 语法高亮

emacs - 从emacs中的特定目录运行shell命令