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 01 结合布尔值不起作用,我想 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]

所以我只选择一个整数列表。