【发布时间】:2016-10-21 22:17:01
【问题描述】:
我发现这个 sn-p 的代码有效,但我不明白为什么会这样。它将 Int 转换为其二进制表示形式。
repBinario::Int -> Int
repBinario 0 = 0
repBinario x = 10 * repBinario (x `div` 2) + x `mod` 2
我知道 div 和 mod 做什么。但是,它如何将来自mod 的每个数字放在一起?
【问题讨论】:
-
我不明白这个问题。
-
@melpomene 我想知道每次调用
repBinario时发生了什么,这种递归对于像我这样的新手来说有点混乱。不过,我们下面的答案真的很有用。 -
我们非常有帮助的答案,我没有只选择一个,因为有些人可能不会寻找与我相同的东西,无论如何,我决定对每个回复进行投票,因为它们都是结构化的以不同的方式解决问题,因此问题导致了不同的解决方案,所有这些都同样有趣。谢谢。