三進制

三進制

以3為基數的進制
三進制是以3為基數的進制。三進制數碼包括“0,1和2。”電信号(—1)、0、1,但在平衡三進制中,則使用-1(記作T)、0、1來表達。和二進制一樣,三進制的數位,稱為三進制位(trit),每個三進制位包含約1.58個二進制位的信息量。曾經被莫斯科大學科研人員用于計算機,在光子計算機研究領域也有涉及。
    中文名:三進制 外文名: 适用領域: 所屬學科: 類别:數學概念 特點:逢3進1 底數:3 數碼:0,1和2或(—1)、0、1

定義

曾經被莫斯科大學科研人員用于計算機,在光子計算機研究領域也有涉及。

對稱三進制能比二進制更方便的表示所有整數。

三進制是“逢三進一,退一還三”的進制。

三進制數碼包括“0,1和2。”電信号(—1)、0、1。

三進制數位小數點前從右往左依次是1位,3位,9位,27位,81位,243位……

三進制數位小數點後從左往右依次是3分位,9分位,27分位,81分位……

寫時注意應打括号,加下标的3,如(1201)3。讀作一二零一,不能讀成一千二百零一,這是因為它們對應于27位,9位,3位和1位,不是千百十個位!

舉例

三進制數是以下問題的答案:

允許在天平兩端放置砝碼,問N個砝碼如何才能稱出最多的整克物體?

答案:1.一個砝碼取1克,隻能稱1克。

2.二個砝碼取1克,3克

右盤3,左盤1。稱2克

右盤3。稱3克

右盤1,3。稱4克

3.三個砝碼取1克,3克,9克

右盤9,左盤1,3。稱5克

右盤9,左盤3。稱6克

右盤9,1,左盤3。稱7克

右盤9,左盤1。稱8克

右盤9。稱9克

右盤9,1。稱10克

右盤9,3,左盤1。稱11克

右盤9,3。稱12克

右盤9,3,1。稱13克

4.四個砝碼取1克,3克,9克,27克。

............

其中的1,3,9,27,81等都是三進制數的數位。

表示形式

三進制一般有兩種表示形式:

一種是以0,1,2為基本字符的表示形式。例如,365在這種表示形式中的寫法是111112。

一種是以-1,0,1為基本字符的表現形式。例如,365在這種表示形式中的寫法是1FFFFFF(我們用F表示-1)。這種表示法也被稱作對稱三進制或平衡三進制

特點

三進制是“逢三進一,退一還三”的進制。

三進制數碼包括“0,1和2。”電信号(—1)、0、1。

三進制數位小數點前從右往左依次是1位,3位,9位,27位,81位,243位……

三進制數位小數點後從左往右依次是3分位,9分位,27分位,81分位……

寫時注意應打括号,加下标的3,如(1201)3。讀作一二零一,不能讀成一千二百零一,這是因為它們對應于27位,9位,3位和1位,不是千百十個位。

運算規則

四則運算

加法:0+0=0,0+1=1,0+2=2,1+0=1,1+1=2,1+2=10,2+0=2,2+1=10,2+2=11

減法:0-0=0,1-0=1,2-1=1,1-1=0,2-1=1,10-1=2,2-2=0,10-2=1,11-2=2

乘法:0×0=0,0×1=0,0×2=0,1×0=0,1×1=1,1×2=2,2×0=0,2×1=2,2×2=11

除法:0÷1=0,1÷1=1,2÷1=2,1÷2=0.1111...

對稱三進制的四則運算

加法:F+F=F1,F+0=F,F+1=0,0+F=F,0+0=0,0+1=1,1+F=0,1+0=1,1+1=1F

減法:F-F=0,F-0=F,F-1=F1,0-F=1,0-0=0,0-1=F,1-F=1F,1-0=1,1-1=0

乘法:F×F=1,F×0=0,F×1=F,0×F=0,0×0=0,0×1=0,1×F=F,1×0=0,1×1=1

除法:F÷F=1,F÷1=F,0÷F=0,0÷1=1,1÷F=F,1÷1=1

邏輯運算

或:F∨F=F,F∨0=0,F∨1=1,0∨F=0,0∨0=0,0∨1=1,1∨F=1,1∨0=1,1∨1=1與

與:F∧F=F,F∧0=F,F∧1=F,0∧F=F,0∧0=0,0∧1=0,1∧F=F,1∧0=0,1∧1=1非

非:¬F=1,¬0=0,¬1=F

與十進制和二進制的比較

整數的三進制表示法不如二進制那樣冗長,但仍然比十進制要長。例如,365在二進制中的寫法是101101101(9個數字),在三進制中的寫法是111112(6個數字)。

在三進制中表示三分之一是很方便的,不像在十進制中,需要用無限小數來表示。但是,二分之一、四分之一之類的分數在三進制中都是無限小數,這是因為2不是3的因子。

比較

1.對稱三進制采用-1,0,1作為基本字符,而普通三進制采用0,1,2作為基本字符。

2.對稱三進制不需要符号位就能表示負數,而普通三進制需要符号位才能表示負數。

3.對稱三進制乘法比較簡單,移位、取非、相加就可以完成,便于處理;普通三進制,處理起來比較麻煩。

4.對稱三進制在表示自然數的時候,比普通二進制要長。

5.對稱三進制在表示0.5〈10〉~1〈10〉之間的數的時候,整數部分為1,不直觀;普通三進制沒有這種現象。

轉換

整數部分,一般使用長除法,用基數除待轉換數或上一步的商,求得餘數或補數,直至最後的商為零。将各次餘數從後往前排列,即為目标進制下的整數部分。小數部分,一般使用長乘法,用基數乘待轉換數或上一步的積,求得整數部分,将證書部分從前往後排列,即為目标進制下的小數部分正負數需要分别處理。

計算機

現今的計算機都使用“二進制”數字系統,盡管它的計算規則非常簡單,但其實“二進制”邏輯并不能完美地表達人類的真實想法。相比之下,“三進制”邏輯更接近人類大腦的思維方式。因為在一般情況下,我們對問題的看法不是隻有“真”和“假”兩種答案,還有一種“不知道”。在三進制邏輯學中,符号“1”代表“真”;符号“-1”代表“假”;符号“0”代表“不知道”。顯然,這種邏輯表達方式更符合計算機在人工智能方面的發展趨勢。

它為計算機的模糊運算和自主學習提供了可能。隻可惜,目前電子工程師對這種非二進制的研究大都停留在表面或形式上,沒有真正深入到實際應用中去。

不過,凡事都有一個例外,三進制計算機并非沒有在人類計算機發展史上出現過。其實,早在上世紀50、60年代。一批莫斯科國立大學的研究員就設計了人類曆史上第一批三進制計算機“Сетунь”和“Сетунь70”(“Сетунь”是莫大附近一條流入莫斯科河的小河的名字)。

“Сетунь”小型數字計算機的設計計劃由科學院院士С·Л·Соболев在1956年發起。這個計劃的目的是為大專院校、科研院所、設計單位和生産車間提供一種價廉物美的計算機。為此,他在莫大計算機中心成立了一個研究小組。該小組最初由9位年輕人(4名副博士、5名學士)組成,都是工程師和程序員。С·Л·Соболев、К·А·Семендяев、М·Р·Шура-Бура和И·С·Березин是這個小組的永久成員。他們經常在一起讨論計算機架構的最優化問題以及如何依靠現有的技術去實現它。他們甚至還設想了一些未來計算機的發展思路。

随着技術的進步,真空管和晶體管等傳統的計算機元器件逐漸被淘汰,取而代之的是速度更快、可靠性更好的鐵氧體磁芯和半導體二極管。這些電子元器件組成了一個很好的可控電流變壓器,這為三進制邏輯電路的實現提供了可能,因為電壓存在着三種狀态:正電壓(“1”)、零電壓(“0”)和負電壓(“-1”)。三進制邏輯電路非但比二進制邏輯電路速度更快、可靠性更高,而且需要的設備和電能也更少。這些原因促成了三進制計算機“Сетунь”的誕生。

“Сетунь”是一台帶有快速乘法器的時序計算機。小型的鐵氧體随機存儲器(容量為3頁,即54字)充當緩存,在主磁鼓存儲器中交換頁面。這台計算機支持24條指令,其中3條為預留指令,目前不用。

三進制代碼的一個特點是對稱,即相反數的一緻性,因此它就和二進制代碼不同,不存在“無符号數”的概念。這樣,三進制計算機的架構也要簡單、穩定、經濟得多。其指令系統也更便于閱讀,而且非常高效。

在這群天才青年日以繼夜的開發和研制下,“Сетунь”的樣機于1958年12月準備完畢。在頭兩年測試期,“Сетунь”幾乎不需要任何調試就運行得非常順利,它甚至能執行一些現有的程序。1960年,“Сетунь”開始公共測試。

1960年4月,“Сетунь”就順利地通過了公測。它在不同的室溫下都表現出驚人的可靠性和穩定性。它的生産和維護也比同期其它計算機要容易得多,而且應用面廣,因此“Сетунь”被建議立即投入批量生産。

不幸的是,蘇聯官僚對這個不屬于經濟計劃一部分的“科幻産物”持否定的态度。他們甚至勒令其停産。而此時,對“Сетунь”的訂單卻如雪片般從各方飛來,包括來自國外的訂單,但10到15台的年産量遠不足以應付市場需求,更不用說出口了。很快,計劃合作生産“Сетунь”的捷克斯洛伐克工廠倒閉了。1965年,“Сетунь”停産了。取而代之的是一種二進制計算機,但價格卻貴出2.5倍。

“Сетунь”總共生産了50台(包括樣機)。30台被安裝在高等院校,其餘的則在科研院所和生産車間落戶。從加裡甯格勒到雅庫茨克,從阿什哈巴德到新西伯利亞,全蘇都能看到“Сетунь”的身影。各地都對“Сетунь”的反應不錯,認為它編程簡單(不需要使用彙編語言),支持反向波蘭表示法,适用于工程計算、工業控制、計算機教學等各個領域。

有了“Сетунь”的成功經驗,研究員們決定不放棄三進制計算機的計劃。他們在1970年推出了“Сетунь70”型計算機。“Сетунь70”對三進制的特性和概念有了進一步的完善和理解:建立了三進制字節——“tryte”(對應于二進制的“byte”),每個三進制字節由6個三進制位(“trit”,約等于9.5個二進制位“bit”)構成;指令集符合三進制邏輯;算術指令允許更多的操作數長——1、2和3字節(三進制),結果長度也擴展到6字節(三進制)。

對“Сетунь70”而言,傳統計算機的“字”的概念已經不存在了。編程的過程就是對三進制運算和三進制地址的操作。這些基于三進制字節的命令将會通過對虛拟指令的編譯而得到。當然,程序員們不必考慮這些——他們隻需直接和操作數及參數打交道即可。

“Сетунь70”是一台雙堆棧計算機。其回叫堆棧用來調用子程序。這一簡單的改進啟發了荷蘭計算機科學家艾茲格·W·迪科斯徹,為他日後提出“結構化程序設計”思想打下了基礎。

“Сетунь70”成了莫斯科國立大學三進制計算機的絕唱。由于得不到上級的支持,這個科研項目不得不無限期停頓下來。

應用曆史

現今的計算機都使用“二進制”數字系統,盡管它的計算規則非常簡單,但其實“二進制”邏輯并不能完美地表達人類的真實想法。相比之下,“三進制”邏輯更接近人類大腦的思維方式。因為在一般情況下,我們對問題的看法不是隻有“真”和“假”兩種答案,還有一種“不知道”。在三進制邏輯學中,符号“1”代表“真”;符号“-1”代表“假”;符号“0”代表“不知道”。顯然,這種邏輯表達方式更符合計算機在人工智能方面的發展趨勢。它為計算機的模糊運算和自主學習提供了可能。隻可惜,電子工程師對這種非二進制的研究大都停留在表面或形式上,沒有真正深入到實際應用中去。

不過,凡事都有一個例外,三進制計算機并非沒有在人類計算機發展史上出現過。其實,早在上世紀50、60年代。一批莫斯科國立大學的研究員就設計了人類曆史上第一批三進制計算機“Сетунь”和“Сетунь 70”(“Сетунь”是莫大附近一條流入莫斯科河的小河的名字)。

“Сетунь”小型數字計算機的設計計劃由科學院院士С·Л·Соболев在1956年發起。這個計劃的目的是為大專院校、科研院所、設計單位和生産車間提供一種價廉物美的計算機。為此,他在莫大計算機中心成立了一個研究小組。該小組最初由9位年輕人(4名副博士、5名學士)組成,都是工程師和程序員。С·Л·Соболев、К·А·Семендяев、М·Р·Шура-Бура和И·С·Березин是這個小組的永久成員。他們經常在一起讨論計算機架構的最優化問題以及如何依靠現有的技術去實現它。他們甚至還設想了一些未來計算機的發展思路。

随着技術的進步,真空管和晶體管等傳統的計算機元器件逐漸被淘汰,取而代之的是速度更快、可靠性更好的鐵氧體磁芯和半導體二極管。這些電子元器件組成了一個很好的可控電流變壓器,這為三進制邏輯電路的實現提供了可能,因為電壓存在着三種狀态:正電壓(“1”)、零電壓(“0”)和負電壓(“-1”)。三進制邏輯電路非但比二進制邏輯電路速度更快、可靠性更高,而且需要的設備和電能也更少。這些原因促成了三進制計算機“Сетунь”的誕生。

“Сетунь”是一台帶有快速乘法器的時序計算機。小型的鐵氧體随機存儲器(容量為3頁,即54字)充當緩存,在主磁鼓存儲器中交換頁面。這台計算機支持24條指令,其中3條為預留指令,不用。

三進制代碼的一個特點是對稱,即相反數的一緻性,因此它就和二進制代碼不同,不存在“無符号數”的概念。這樣,三進制計算機的架構也要簡單、穩定、經濟得多。其指令系統也更便于閱讀,而且非常高效。

在這群天才青年日以繼夜的開發和研制下,“Сетунь”的樣機于1958年12月準備完畢。在頭兩年測試期,“Сетунь”幾乎不需要任何調試就運行得非常順利,它甚至能執行一些現有的程序。1960年,“Сетунь”開始公共測試。

1960年4月,“Сетунь”就順利地通過了公測。它在不同的室溫下都表現出驚人的可靠性和穩定性。它的生産和維護也比同期其它計算機要容易得多,而且應用面廣,因此“Сетунь”被建議立即投入批量生産。

不幸的是,蘇聯官僚對這個不屬于經濟計劃一部分的“科幻産物”持否定的态度。他們甚至勒令其停産。而此時,對“Сетунь”的訂單卻如雪片般從各方飛來,包括來自國外的訂單,但10到15台的年産量遠不足以應付市場需求,更不用說出口了。很快,計劃合作生産“Сетунь”的捷克斯洛伐克工廠倒閉了。1965年,“Сетунь”停産了。取而代之的是一種二進制計算機,但價格卻貴出2.5倍。

“Сетунь”總共生産了50台(包括樣機)。30台被安裝在高等院校,其餘的則在科研院所和生産車間落戶。從加裡甯格勒到雅庫茨克,從阿什哈巴德到新西伯利亞,全蘇都能看到“Сетунь”的身影。各地都對“Сетунь”的反應不錯,認為它編程簡單(不需要使用彙編語言),支持反向波蘭表示法,适用于工程計算、工業控制、計算機教學等各個領域。

有了“Сетунь”的成功經驗,研究員們決定不放棄三進制計算機的計劃。他們在1970年推出了“Сетунь 70”型計算機。“Сетунь 70”對三進制的特性和概念有了進一步的完善和理解:建立了三進制字節——“tryte”(對應于二進制的“byte”),每個三進制字節由6個三進制位(“trit”,約等于9.5個二進制位“bit”)構成;指令集符合三進制邏輯;算術指令允許更多的操作數長——1、2和3字節(三進制),結果長度也擴展到6字節(三進制)。

對“Сетунь 70”而言,傳統計算機的“字”的概念已經不存在了。編程的過程就是對三進制運算和三進制地址的操作。這些基于三進制字節的命令将會通過對虛拟指令的編譯而得到。當然,程序員們不必考慮這些——他們隻需直接和操作數及參數打交道即可。

“Сетунь 70”是一台雙堆棧計算機。其回叫堆棧用來調用子程序。這一簡單的改進啟發了荷蘭計算機科學家艾茲格·W·迪科斯徹,為他日後提出“結構化程序設計”思想打下了基礎。

“Сетунь 70”成了莫斯科國立大學三進制計算機的絕唱。由于得不到上級的支持,這個科研項目不得不無限期停頓下來。

相關詞條

相關搜索

其它詞條