主題
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 序列, 負十進位制

使用 探索

參考文獻

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.

在 中被引用

負二進位制

引用為

Weisstein, Eric W. “負二進位制。” 來自 Web 資源。 https://mathworld.tw/Negabinary.html

主題分類