关于16进制
请问高手怎样用lisp,16进制--十进制转换?;将一个字符串按BASE做为基数的进制转换为十进制的整数值
(defun baseToDecimal (base val / pos power result tmp)
(setq pos (1+ (strlen val))
power-1
result 0
val (strcase val)
)
(while (> (setq pos (1- pos)) 0)
(setq result (+ result
(* (if (> (setq tmp (ascii (substr val pos 1))) 64)
(- tmp 55)
(- tmp 48)
)
(expt base (setq power (1+ power)))
)
)
)
)
result
)
;功能
;将一个字符串按BASE做为基数的进制转换为十进制的整数值
;语法
;(baseToDecimal base val )
;参数
;base:一个代表所要转换的进制(BASE2、BASE8、BASE16等)基数整数。
;val:一个进行转换的字符串。
;返回值
;十进制的整数值
;样例
;(baseToDecimal 16 "FA")
;(baseToDecimal 2 "101")
;(baseToDecimal 8 "34")
哎怎么看不见内容
页:
[1]