在haskell

时间:2017-03-19 04:55:07

标签: haskell functional-programming integer logarithm

说我们给出数字n和b,其中b是要采用的基数,找到n中的数字位数我知道公式是

⌊logmN⌋+ 1

然而,当我在haskell中尝试

(logBase b n)+1

我在浮点数中得到了答案,但我希望它在int中。我正在尝试使用

integerLogBase b n

但那也不起作用

一些例子是基数2中7的位数是3。

1 个答案:

答案 0 :(得分:4)

您的符号正确使用了地板功能;您只需将其添加到代码中:floor (logBase b n) + 1