常见的lisp整数到十六进制转换

时间:2009-10-05 18:02:21

标签: decimal common-lisp hex

是否有类似的函数(parse-integer“ff”:radix 16)会把我带回去?如果我有int 255如何将其转换为字符串ff?

2 个答案:

答案 0 :(得分:18)

(write-to-string 255 :base 16)

答案 1 :(得分:14)

您还可以将format~X基数指示符一起使用:

CL-USER> (format t "~X" 255)
FF
NIL

要获得前导0x和最小宽度,例如四个用零填充,请使用

CL-USER> (format t "0x~4,'0X" 255)
0x00FF
NIL

要强制数字从10到15为小写,请使用case conversion directive ~(,如下所示:

CL-USER> (format t "0x~(~4,'0x~)" 255)
0x00ff
NIL