common-lisp - 如何在普通的 lisp 中创建一个位数组?

标签 common-lisp sbcl bitarray

在谷歌搜索了大约一个小时后,我不得不承认,虽然我找到了很多关于函数在位数组上运行的文档,但我找不到关于如何实际创建位数组的引用。

现在,在我看来,一些具有其他元素类型的数组可以作为位数组处理,或者可以使用 (make-array :element-type (???)) 我找不到任何关于在我写“???”的地方放什么的解释。

因此,虽然对其他人来说这可能是显而易见的,但我不知道如何创建位数组。我知道如何编写文字位数组 - 但如果我需要一个位数组,比如 2^16 位 - 我该怎么做?

最佳答案

关于使用make-array 是正确的,只需使用'bit 作为元素类型。尝试 (make-array initial-size :element-type 'bit)。 符号 BIT 命名位类型,可以用任何其他类型说明符替换,以创建一个包含该类型对象的数组。在此示例中,initial-size 只是一个包含整数的变量。

关于common-lisp - 如何在普通的 lisp 中创建一个位数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62849317/

相关文章:

common-lisp - 声明检查类型之间的 Common Lisp 区别

lisp - Quicklisp:存档大小错误

lisp - 用 Lisp 编程乐透

common-lisp - hunchentoot 中的特殊变量

data-structures - 位数组有哪些常见用途?

d - 如何拆分 BitArray

lisp - Common Lisp : Are all functions built from the core functions, CAR、CDR、CONS 等?

emacs - 在 Emacs SLIME 中关闭调试器

compilation - SBCL 的内联编译和 block 编译有什么区别?

c++ - 将位数组转换为集合