标签: haskell functional-programming integer logarithm
说我们给出数字n和b,其中b是要采用的基数,找到n中的数字位数我知道公式是
⌊logmN⌋+ 1
然而,当我在haskell中尝试
(logBase b n)+1
我在浮点数中得到了答案,但我希望它在int中。我正在尝试使用
integerLogBase b n
但那也不起作用
一些例子是基数2中7的位数是3。
答案 0 :(得分:4)
您的符号正确使用了地板功能;您只需将其添加到代码中:floor (logBase b n) + 1
floor (logBase b n) + 1