gpt4 book ai didi

scheme - 需要解释 Lisp 中的反向科学记数法函数

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:17 24 4
gpt4 key购买 nike

这是我拥有并理解的函数,从 1) 你的系数和 2) 你的指数,然后从科学记数法中提取数字。

示例:

coefficient 7, 
exponent 3

7 * 10^3 = 7000

(define (scientific coeffiecent exponent) (* coefficient (expt 10 exponent)))

这就是我正在努力解决的问题:从 7000 到用于将其转换为科学记数法的系数和指数的函数。我通过网络获得了工作功能,但真的很难完全理解它。

(define (sci-exponent number)
(floor (/ (log number) (log 10))))

(define (sci-coefficient number)
(/ number (expt 10 (sci-exponent number))))

如果有人能帮助我理解,将不胜感激!感谢您以任何方式阅读!

最佳答案

查看 sci-exponent 的主体,它占据了 log(number)/log(10) 的底面。正如您可能记得的数学课:loga(n1)/loga(n2) = logn2(n1)。所以你得到的是 log10(number),它的底数是 number 的位数减 1,这将是科学计数法。

然后可以很容易地从指数中导出系数。因为,如您所写,coeff * exp = number,然后 number/exp = coeff,这正是 sci-coefficient 正在实现的。

关于scheme - 需要解释 Lisp 中的反向科学记数法函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51379317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com