是否有一个平台功能可以执行以下操作?
convertBase :: (Num a, Num b) => Int -> Int -> [a] -> [b]
将数字从基数“a”转换为基数“b”,其中每个列表项都是数字中的一个数字。
例如:
convertBase 2 10 [1,1,0,1] = [1, 3]
我希望这是有道理的,如果我能解决任何问题请告诉我
使用digits http://hackage.haskell.org/packages/archive/digits/latest/doc/html/Data-Digits.html来自 Hackage 的包:
import Data.Digits (digits, unDigits)
convertBase :: Integral a => a -> a -> [a] -> [a]
convertBase from to = digits to . unDigits from
您可以添加一个fromIntegral
如果您需要不同的输入和输出类型。另外,Integral
约束比更有意义Num
,因为您可能不想处理复杂或浮点数字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)