【发布时间】:2023-03-19 13:41:01
【问题描述】:
我想在操作数是无符号 16 位整数的 Clojure 中使用 按位 函数(bit-shift-right、bit-and 等)。
16 位整数是从 0 到 65535 的十进制数,或者是从 0000 0000 0000 0000 到 1111 1111 1111 1111 的二进制数。
例如这里的 123 是 java.lang.Long,所以会产生错误的答案:
(bit-not 123)
如何使 123 成为一个无符号的 16 位整数,以便上面生成正确的答案,即十进制的 65412?
所以 0000 0000 0111 1011 (123) 应该变成 1111 1111 1000 0100 (65412)。
【问题讨论】: