haskell:二进制计算器递归和 return 值?
haskell: binary calculator recursion and return values?
我想在每次递归时将十进制数转换为二进制数,否则!
binary2 x =
if x > 0
then binary x
else 999
binary x =
if x `mod` 2 > 0
then 1 && binary2 (x/2)
else 0 && binary2 (x/2)
好吧 returning 0
或 1
结合布尔值不起作用,我想 return 无论是 0
还是 1
然后再次引用该函数,但值是以前的一半,直到 x < 1
!因此 x/2
...
二进制、十进制、十六进制等都是数字的表示系统。它们仅在处理包含数字的字符串时才重要,而不是在编程语言级别处理数字时。
类似
binary2 :: Int -> [Int]
binary2 x
| x > 0 = binary x
| otherwise = []
binary :: Int -> [Int]
binary x
| x `mod` 2 > 0 = binary2 (x `div` 2) ++ [1]
| otherwise = binary2 (x `div` 2) ++ [0]
所以我只选择一个整数列表。
我想在每次递归时将十进制数转换为二进制数,否则!
binary2 x =
if x > 0
then binary x
else 999
binary x =
if x `mod` 2 > 0
then 1 && binary2 (x/2)
else 0 && binary2 (x/2)
好吧 returning 0
或 1
结合布尔值不起作用,我想 return 无论是 0
还是 1
然后再次引用该函数,但值是以前的一半,直到 x < 1
!因此 x/2
...
二进制、十进制、十六进制等都是数字的表示系统。它们仅在处理包含数字的字符串时才重要,而不是在编程语言级别处理数字时。
类似
binary2 :: Int -> [Int]
binary2 x
| x > 0 = binary x
| otherwise = []
binary :: Int -> [Int]
binary x
| x `mod` 2 > 0 = binary2 (x `div` 2) ++ [1]
| otherwise = binary2 (x `div` 2) ++ [0]
所以我只选择一个整数列表。