Existe-t-il une fonction similaire à (parse-integer "ff": radix 16) qui me ramènera dans l'autre sens? Si j'ai l'int 255, comment puis-je le convertir en chaîne ff?Conversion de nombre entier de lisp en hexadécimal
8
A
Répondre
16
(write-to-string 255 :base 16)
13
Vous pouvez également utiliser format
avec le désignateur radix ~X
:
CL-USER> (format t "~X" 255)
FF
NIL
Pour obtenir le premier 0x
et une largeur minimale, disons, quatre matelassée avec des zéros, utilisez
CL-USER> (format t "0x~4,'0X" 255)
0x00FF
NIL
Pour forcer les chiffres de 10 à 15 en minuscules, utilisez la case conversion directive~(
comme suit:
CL-USER> (format t "0x~(~4,'0x~)" 255)
0x00ff
NIL