廣義的進制系統

廣義的進制系統非標準進制系統指的是可以簡單地描述為進制系統但不完全符合標準進制系統的記數系統

在標準的進制系統中,底數b應為整數,並且這些與b不同的各個數字可以用來表達所有非負整數。標準進制在表示數字時使用0, 1, 2, 3...到b-1來表示各個位數,但其值根據該數字所在的位置進行加權。例如,以b為底的數字字串pqrs的值可由多項式的形式給出:
上標表示底數在該位的
例如在十六進制(b=16)中,使用符號A表示10,B表示11等,數字字串7A3F表示:
在常用的十進制表示法表示為31295。
若引入小數點「.」和負號「-」,則可以表達任意精度的實數。

本文總結了一些非標準進制系統的實際情況。在大多數情況下,用於描述標準進制系統中的多項式形式仍然適用。

一些歷史上使用的數字系統可能被描述為非標準進制系統。例如六十進制巴比倫數字和中國的算籌,其分別可以歸類為以60為底和以10為底的標準進制系統,而將表示零的空間計為數字的系統以及更具體地考慮到構成數字的原始重複字形,具有一元組成的混合底數系統,都可以歸類為非標準進制系統。

然而,大多數的非標準進制系統都未用於一般用途,而是由數學家或工程師設計用於特殊的學術或技術用途。

雙射記數系統

編輯

以b為雙射記數系統使用b個不同的數字符號來表示所有非負整數。 其所使用的數字為1、2、3...並包括n,但不包括0,而零由空字串表示。

一進制

編輯

一進制是一種以1為底數的雙射記數系統,其僅使用一個符號來表達所有正整數[1]。一進制的數字字串pqrs可由多項式的形式給出:

 

其可以直接簡化為 ,因為對所有的n,在b=1時, 始終為1。這個記數系統非標準的原因包括

  • 數字的值不取決於它所在的位置,因此其是否能視為一個進制常出現爭議。
  • 該系統即使引入了小數點也無法表達非整數的數字
  • 其使用1來表示數字,而標準進位制最多僅能用到底數減一(b-1),而一進制b-1=0
  • 無法表示0(僅能隱含地使用空字串表示)

有符號位數進制

編輯

部分進制使用正整數作為底數,但允許負值作為其單個位數。非相鄰形式英語Non-adjacent form是底數為2的有符號位數進制的特有形式。在平衡三進制,即底數為3的有符號位數進制中,使用-1、0和1來表示數字。[2]

非正整數底數的進制

編輯

有些進制系統的底數不是正整數

負底數進制

編輯

負底數進制包括了負二進制、負三進制、負十進制等。[3]在-b進制中使用b個符號來表達數字。由於負的冪的特性會在正與負交替,因此負底數進制可以不使用正負號就表達正數與負數。

複底數進制

編輯

在純虛數底數bi進制的系統中,需要由b2個數碼來表示數,為0到b2-1,其中,b是大於1的整數,i是虛數單位。[4]其可以進一步的推廣到任意複數的底數,即複底數進制。若一複底數進制的底數為b,則其需要 個數碼來表示數。[5]

非整數進制

編輯

在底數為非整數的進制系統中,用於表示數的符號個數顯然不能是b(b為底數,此例底數不是整數),而是使用從0到 的數字。例如黃金進制使用兩個數碼來表示數,分別為0和1。

混合底數進制

編輯

有時進制的各個位數的權值使用非1、 bb2b3......的幾何級數之多項式形式更為方便。在混合底數的進制系統中,如階乘進制,其各個位數的權值形成一個數列,數列每個權值都是前一項的整數倍,同時也允許每個位數有不同的符號個數,例如在階乘進制中,權值為2!的位數使用2個符號(0、1)、權值為3!=6的位數使用3個符號(0、1、2)、權值為4!=24的位數使用4個符號(0、1、2、3)。

瑪雅曆法所使用的馬雅數字系統就是一個混合底數進制系統的例子,因為要配合360日的曆法,因此其有一個位數使用的底不是20而是18。此外以度、分、秒表示的角度或以天、小時、分鐘、秒表示的時間都可以看做是混合底數的進制系統的一個例子。

也有一些進制各個位數的權值使用的不是每一項皆為前一項之整數倍的數列來表示數,但這種進制系統在表達整數時可能會使同一個數有多種表示方式。例如斐波那契進制斐波那契編碼,其使用0和1來表示數,而各個位數的權值為斐波那契數列(1、 2、 3、 5、 8...... );這個進制系統可以透過避免使用連續的1來使每個數有唯一的表示方式。二進碼十進數也是一種混合底數進制系統,其每四個位數是一組二進制數,底數為2,而四個位數與下四個位數之間有底數10,例如1001 0011較低的四個位數表示三,較高的四個位數表示九,這8個位數表示的數為九十三。在這8個位數中的權值為80、40、20、10、8、4、2和1。

非對稱記數系統

編輯

非對稱記數系統是在電腦科學中使用的一種記數系統,其不僅每個位數的底數不同(通常會是非整數的底數),甚至還可以是非均勻的,並以非對稱的方式改變,以便更有效率地編碼資訊。其對所選用的符號非均勻的概率分佈進行最佳化,以平均每個符號大致上的資訊熵[6]

參考文獻

編輯
  1. ^ Davis, Martin; Sigal, Ron; Weyuker, Elaine J., Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science, Computer Science and Scientific Computing 2nd, Academic Press: 117, 1994 [2023-01-18], ISBN 9780122063824, (原始內容存檔於2023-01-21) .
  2. ^ Douglas W. Jones. Ternary Number Systems. 2013-10-15 [2023-01-18]. (原始內容存檔於2023-01-21). 
  3. ^ Petkovšek, Marko, Ambiguous numbers are dense, The American Mathematical Monthly, 1990, 97 (5): 408–411, ISSN 0002-9890, JSTOR 2324393, MR 1048915, doi:10.2307/2324393 .
  4. ^ Herd, Philip. Imaginary Number Bases. arXiv. [2023-11-11]. doi:10.48550/ARXIV.1701.04506. (原始內容存檔於2023-11-11). 
  5. ^ Gilbert, William J. Arithmetic in complex bases. Mathematics Magazine (Taylor & Francis). 1984, 57 (2): 77–81. 
  6. ^ Duda, Jarek and Tahboub, Khalid and Gadgil, Neeraj J and Delp, Edward J. The use of asymmetric numeral systems as an accurate replacement for Huffman coding. 2015 Picture Coding Symposium (PCS) (IEEE). 2015: 65–69 [2023-01-18]. (原始內容存檔於2017-01-06).