方案 十六进制到十进制

问题描述 投票:0回答:1

我试图通过迭代字符串索引将一个十六进制数转换成十进制数,并通过乘以相应的16次幂将值添加到结果中。我想出了 "该怎么做",但我是Scheme的新手,所以我不知道 "该怎么做"。

scheme
1个回答
0
投票
(define convert-to-dec
  (lambda (in base)
    (fold-left (lambda (r x)
                  (+ (* base r)
                     (char->digit x base)))
               0
               (string->list in))))

1 ]=> (convert-to-dec "a00" 16)

;Value: 2560

这使用了"... 霍纳法 用于多项式计算。


0
投票

在方案中,"#x "代表十六进制。

(define (hex-to-decimal n)
    (string->number(string-append "#x" n)))


(hex-to-decimal "11F")
© www.soinside.com 2019 - 2024. All rights reserved.