主题
Search

负二进制


数字 n 的负二进制表示是它在基数 -2 (即,负 2 基数) 中的表示。 因此,它由系数 a_na_(n-1)...a_1a_0 给出,其中

n=sum_(i=0)a_i(-2)^i
(1)
=...+a_2(-2)^2+a_1(-2)^1+a_0(-2)^0,
(2)

其中 a_i=0,1

n 转换为负二进制可以使用 Wolfram 语言 代码完成

  Negabinary[n_Integer] := Module[
    {t = (2/3)(4^Floor[Log[4, Abs[n] + 1] + 2] - 1)},
    IntegerDigits[BitXor[n + t, t], 2]
  ]

由 D. Librik (Szudzik) 提供。 按位 XOR 部分最初由 Schroeppel (1972) 提出,他指出 n 中的位序列由 ...01010101 给出。

下表给出了前几个整数的负二进制表示 (OEIS A039724)。

n负二进制n负二进制
111111111
21101211100
31111311101
41001410010
51011510011
6110101610000
7110111710001
8110001810110
9110011910111
10111102010100

如果这些数字被解释为二进制数并转换为十进制,它们的值为 1, 6, 7, 4, 5, 26, 27, 24, 25, 30, 31, 28, 29, 18, 19, 16, ... (OEIS A005351)。 在 二进制 和负二进制中具有相同表示的数字是 Moser-de Bruijn 序列 的成员,0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, ... (OEIS A000695)。


另请参阅

进制, 二进制, Moser-de Bruijn 序列, 负十进制

使用 Wolfram|Alpha 探索

参考文献

Gardner, M. 纽结甜甜圈和其他数学娱乐。 New York: W. H. Freeman, p. 101, 1986.Knuth, D. E. 计算机程序设计艺术,第 2 卷:半数值算法,第 3 版。 Reading, MA: Addison-Wesley, 1998.Schroeppel, R. Item 128 in Beeler, M.; Gosper, R. W.; and Schroeppel, R. HAKMEM. Cambridge, MA: MIT Artificial Intelligence Laboratory, Memo AIM-239, p. 24, Feb. 1972. http://www.inwap.com/pdp10/hbaker/hakmem/flows.html#item128.Sloane, N. J. A. Sequences A000695/M3259, A005351/M4059, and A039724 in "整数序列在线百科全书。"Szudzik, M. "编程挑战:Mathematica 编程竞赛。" Wolfram Technology Conference, 1999.

在 Wolfram|Alpha 中被引用

负二进制

引用为

Weisstein, Eric W. “负二进制。” 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/Negabinary.html

主题分类