我正在尝试生成一个斐波那契数列列表,以与质数列表进行比较(例如)。两个列表都从已知的第一个fibo / prime数字开始,并在第10000个数字结束。问题是:只有当应用了像“logBase 2”这样的函数时,才能进行图形比较(图表)斐波那契数,但是“logBase”仅适用于“浮点数”。不幸的是,斐波那契数变得非常巨大,因此我认为斐波那契数应该是“整数”(无界)。这导致了转换问题。例如(Double versus Integer versus Rational):
因此,问题是:如何使用像"logBase"这样的数学函数来处理无界整数?有什么提示吗?
Prelude> (fromInteger 99^155 :: Double)
Infinity
Prelude> 99^155
2105984461967288122980631709715261275645844225982779394351624787177327329412781425212770617487844004735075332631944629831514476725173837569097618069672639524362255333585985536520710945968603104880488606713054412670128838036813075895861981025491395960367363513228812061706617371582639821584522415306665565665499
Prelude> logBase 2 $ fromRational (fromInteger 99^155 :: Rational)
Infinity
因此,问题是:如何使用像"logBase"这样的数学函数来处理无界整数?有什么提示吗?