Variable-length quantity: Difference between revisions

m
Line 710:
to :: Int -> Int -> [Int]
to _ 0 = []
to base i = to base (div i base) ++ [mod i base]
let bgo = 8to base
in go (div i base) ++ [mod i base]
 
from :: Int -> [Int] -> Int
Line 716 ⟶ 718:
 
main :: IO ()
main = do
let b = 8
fromBase = from b
toBase = to b
mapM_
(putStrLn .
intercalate " <-> " .
(((:) . (show =<<) show . toBase) <*> (return . show . fromBase . toBase)))
[2097152, 2097151]</lang>
where
b = 8
fromBase = from b
toBase = to b</lang>
{{out}}
<pre>10000000 <-> 2097152
9,655

edits