Haskell 程序将十进制数转换为二进制数
本教程讨论了在 Haskell 编程语言中编写一个程序,将十进制数转换为二进制数。Haskell 是一种声明式、强类型和函数式编程语言。Haskell 中的计算是数学函数。
在十进制数系统中,每个数字都用 0 到 9 之间的数字表示。这个数字系统也称为基数 10 数系统。例如,数字 **四百九十一** 表示为 491(4*10^2 + 9*10^1 + 1*10^0)。
在二进制数系统中,每个数字都用 0 到 1 之间的数字表示。这个数字系统也称为基数 2 数系统。例如,数字 **九十一** 表示为 1011011(1*2^6 + 0*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0)。
算法步骤
声明函数 toBinary 将十进制数转换为表示十进制数的二进制形式。
创建主函数并分配需要转换为二进制的十进制值。
使用 toBinary 函数转换十进制数
打印最终输出
示例
将十进制数转换为二进制数的程序
-- function declaration
toBinary :: Int->[Char]
-- function definition
-- base case-1
toBinary 0 = []
-- base case-2
toBinary 1 = show 1
toBinary n = toBinary n1 ++ d
where
r = mod n 2
d = show r
n1 = div n 2
main :: IO()
main = do
-- initializing a variable number
let number = 91
-- invoking the function toBinary
let binNumber = toBinary number
print ("The binary form of the decimal number "++ show number ++ " is:")
print (binNumber)
输出
"The binary form of the decimal number 91 is:" "1011011"
描述
我们声明了一个函数 toBinary,它接受一个整数作为参数并返回一个字符串(字符列表)。它的函数定义接受一个整数 n 作为参数,并返回对自身进行递归调用,参数为 n1 与变量 d 的连接。n1 和 d 的值在以下几行中计算。其中 Haskell 中的关键字可用于拆分复杂的逻辑。
使用模运算符计算数字 n 除以 2 的余数,并将结果加载到变量 r 中。使用函数 show 将整数 r 转换为字符串,并将返回的字符串值加载到变量 d 中。
使用函数 div 计算数字 n 除以 2 的商,并将结果加载到变量 n1 中。
函数 toBinary 将十进制数转换为表示十进制数的字符串形式。
在主函数中,变量 number 初始化为十进制数 91。使用变量 number 作为参数调用函数 toBinary,并将返回的二进制字符串加载到变量 binNumber 中。最后,使用 print 函数打印输出。
结论
本教程讨论了在 Haskell 编程语言中实现一个程序,将十进制数转换为二进制数。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP