这就是
我目前在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
这些都是超冗长的定义,在实现时会导致很多问题。
有没有更好的方法来实施这些?
在现实世界的OCaml编程中,我们通常使用char
作为字节的数据类型。它有 8 位。
你对bit
的定义很奇怪。它应该很简单:
type bit = Zero | One
或者您可以改用bool
。
如果您正在做家庭作业或学习代数数据构建方式,那么故事可能会有所不同。