这就是我目前在ocaml
中定义程序的字节和位的方式:
type bit = Zero of int | One of int
type byte_t = bit * bit * bit * bit * bit * bit * bit * bit
type block = byte_t * byte_t * byte_t * byte_t * byte_t * byte_t
这些是超长的定义,在实现时会引起很多问题。
有没有更好的方法来实现这些?
答案 0 :(得分:2)
在现实世界的OCaml编程中,我们通常使用char
作为字节的数据类型。它有8位。
您对bit
的定义很奇怪。应该简单地说:
type bit = Zero | One
或者您可以改为使用bool
。
如果您正在从事家庭作业或学习代数方式的数据构建,那么故事可能会有所不同。