專利名稱:混q進制、進位行數(shù)字工程方法的計算機技術(shù)方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字工程方法和計算機領(lǐng)域,特別是計算機的運算器背景技術(shù)數(shù)字工程包括數(shù)控機床、大中型數(shù)字化設(shè)備和數(shù)字系統(tǒng)工程等等。本發(fā)明中“數(shù)字工程”是專指“數(shù)字計算系統(tǒng)工程”。它不是解決一個個具體的算題、或定理證明、或幾何問題、或某種數(shù)學(xué)思想,而是解決四則運算法則等計算系統(tǒng)本身的數(shù)字工程實現(xiàn)技術(shù)方案。它與具體的計算工具密切相關(guān)。眾所周知,“計算”有好多種,除“近似計算”、“模擬計算”及“無工具計算”(心算、指算、口算等,包括相應(yīng)的口訣、速算、估算)外,則為“采用工具的數(shù)字計算”?!安捎霉ぞ叩臄?shù)字計算”歷史上包括筆算、珠算、機械算、電算,以及籌算等?,F(xiàn)代僅剩下三種,這就是數(shù)字電算、珠算、筆算。與此相應(yīng)的數(shù)字計算系統(tǒng)工程也就僅有三種數(shù)字計算機;算盤;采用筆和紙進行筆算的數(shù)字計算系統(tǒng)工程,簡稱為“筆算工程”。
四則運算是數(shù)的最基本運算。正如恩格斯所說“四則(一切數(shù)學(xué)的要素)。”.加法又是四則運算的最基本的運算。因此,我們理所當(dāng)然應(yīng)當(dāng)對四則運算,尤其是對加法運算給予特別的關(guān)注。當(dāng)前數(shù)字工程方法中的四則運算,首先是加法,有許多不盡如人意之處。主要表現(xiàn)為運算速度慢;在減法中,未能充分利用負(fù)數(shù)的作用,而且,不能“連減”。尤其在加減聯(lián)合運算中,不能一步到位;在乘法中,加法的缺點更加擴大嚴(yán)重;在除法中,上述缺點依舊。總之,在最小的數(shù)體——有理數(shù)體中,四則運算情況并不滿意。
式一 式二在筆算數(shù)字工程中,對運算的解剖,表明存在一些隱含的操作程序,以至產(chǎn)生“隱患”。以“二數(shù)相加”為例,算式如式一。[文中凡未標(biāo)明數(shù)制的數(shù),均指普通十進制數(shù)。下同。]其中,十位上的和數(shù)3,解剖一下。其微程序操作是 個位上來的進位(見標(biāo)志) 十位上5、7二數(shù)字與低位進位相加,即(5+7+1)。取其和的個位。_上列(5+7+1)和的進位送到高位(見標(biāo)志)。其余各位情況類似。又如例二,設(shè)三數(shù)求和,算式如式二78+297+259=634。如圖可見,上述情況更為加重。顯然,存在下列缺點a.進位標(biāo)示困難。若用小數(shù)字表明,則易混淆且字面積受限。特別是表456789時就更煩人;若以“.”符寫在數(shù)字間,則易與小數(shù)點混淆且表示456789也不便;若以手指數(shù)數(shù),則速度慢且不方便;若心算,則費腦力且易錯??傊?,比較討厭,易出錯。
b.一般二數(shù)相加時,每一位上要有三個數(shù)相加求和。于是,需三重運算。三及三以上個數(shù)相加求和時,則更不方便。
c.驗算困難。一般采用重做一遍,費時費力。
減法比加法麻煩。而且不能在同一豎式中“連減”,必須斷開。特別在加減聯(lián)合運算時,不能一步到位。乘除法中,這類情況更為嚴(yán)重。而且,加減乘除運算格式不統(tǒng)一,除法時另起爐灶。
另一方面,在電子計算機數(shù)字工程中,同樣有大量的數(shù)值運算。這些數(shù)一般均采用普通二進制數(shù)來表示。其負(fù)數(shù)常以原碼、反碼、補碼、移碼之類來表示。在現(xiàn)有計算機中運算均以二個數(shù)運算,而無法實現(xiàn)“多重運算”。所謂“多重運算”,是指多于二個數(shù)同時進行加減。在采用其他普通Q進制等普通數(shù)制的電子計算機中,存在相應(yīng)的許多復(fù)雜性。[Q為自然數(shù)。]此外,在算盤數(shù)字工程中,同樣有大量的數(shù)值運算。這些數(shù)一般采用普通二進制與普通五進制的“聯(lián)合Q進制”數(shù)。因此,運算口訣繁雜,而且存在相應(yīng)的一些復(fù)雜性。
發(fā)明內(nèi)容
本發(fā)明提出一種新的數(shù)字工程方法,顯著提高運算速度;同時加強運算正確性的保障,在“筆算工程”中,大大降低筆算的出錯率。
本發(fā)明同時提出了,采用上述“混數(shù)進制、進位行方法”的計算機技術(shù)方案。在現(xiàn)有研制技術(shù)的基礎(chǔ)上,在設(shè)備量相近的情況下,顯著提高計算機,特別是電子數(shù)字計算機的運算速度。
根據(jù)本發(fā)明的一個方面,提供一種混Q進制、進位行數(shù)字工程方法。采用“混Q進制”數(shù),以“混數(shù)進制、進位行方法”運算;運算可為下列方案之一;方案一(適于計算機、筆算工程中)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);②混數(shù)進制運算(“對沖”、“劃Q”、“累加”);③混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);方案二(適于計算機、算盤中;也可用于筆算工程,也可不用;)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)編碼為“編碼全一進制數(shù)”;②“編碼全一進制”運算(“對沖”、“劃Q”、“累加”);③“編碼全一進制數(shù)”譯碼為混數(shù)進制數(shù);混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);方案三(適于計算機中)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)編碼或另行轉(zhuǎn)換為{0,±1}二進制(其特況為普通二進制)數(shù);②{0,±1}二進制運算(“對沖”、“劃Q”、“累加”);③{0,±1}二進制數(shù)譯碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);方案四(適于計算機中)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)編碼或另行轉(zhuǎn)換為“編碼{0,±1}二進制數(shù)”;②“編碼{0,±1}二進制”運算(“對沖”、“劃Q”、“累加”);③“編碼{0,±1}二進制數(shù)”譯碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);本發(fā)明中,采用方案一、方案二來展示。包括以下第一種步驟第1步,設(shè)K個普通Q進制數(shù)參予加減運算,K為≥2的整數(shù),Q為自然數(shù);將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;第2步,對K個數(shù)中的二個數(shù),進行混Q進制的求和運算;從最低位開始或各位同時按位相加,即在某一位上,取這二個數(shù)按位相加;采用“對沖”、“劃Q”、“累加”,得到這二個數(shù)該位“按位加”的和數(shù);將此和數(shù)記入下一運算層,作為“部份和”數(shù);同時所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;第3步,在上述某位的相鄰高位上,重復(fù)第2步的運算;如此反復(fù),直至二數(shù)最高位也已運算為止;當(dāng)采用并行運算時,二數(shù)各位同時進行第2步及第3步運算,則本步可跳越過去;當(dāng)采用串并行運算時,則類似處理;第4步,取K個數(shù)中的另二個數(shù),進行第2步及第3步運算;如此反復(fù),直至K個數(shù)或運算層中全部數(shù)均取完為止;當(dāng)僅剩下一個數(shù)時,則直接移至下一運算層作為“部份和”數(shù);第5步,在下一個運算層中,將上述“按位和”數(shù)及“進位”數(shù)進行前述第2步、第3步、第4步求和運算;如此反復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;則最后所得數(shù),即為所求K個數(shù)混Q進制加法運算和數(shù);或者,采用以下第二種步驟第1步,設(shè)K個普通Q進制數(shù)參予加減運算,K為≥2的整數(shù),Q為自然數(shù);將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;第2步,從最低位開始,即在某一位上,取二數(shù)或K個數(shù)同時相加;采用“對沖”、“劃Q”、“累加”;即在二數(shù)時,得到二個數(shù)該位“按位加”和數(shù);將此和數(shù)記入下一運算層,作為“部份和”數(shù);同時所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;第3步,在上述某位上,取K個數(shù)中的另二個數(shù),重復(fù)第2步的運算;如此反復(fù),直至K個數(shù)或運算層中全部數(shù)均取完為止;當(dāng)僅剩下一個數(shù)時,則直接移至下一運算層作為“部份和”數(shù);當(dāng)采用同一位上各數(shù)同時運算時,同時進行第2步及第3步運算,則本步可跳越過去;這時在同一位上,對n個和為0的數(shù)先進行“對沖”;然后,對n個和為mQ的數(shù)進行“劃Q”;n為≥2的整數(shù),m為整數(shù);所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;同一位上,余下各數(shù)進行“累加”,或者直接移至下一運算層;累加采用≥2的“多數(shù)累加”;當(dāng)采用普通二數(shù)“累加”時,則順序串行累加;第4步,在上述某位的相鄰高位上,重復(fù)第2步及第3步的運算;如此反復(fù),直至K個數(shù)最高位也已運算為止;第5步,在下一個運算層中,對上述“按位和”數(shù)及“進位”數(shù)進行前述第2步、第3步、第4步求和運算;如此反復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;則最后所得數(shù),即為所求K個數(shù)混Q進制加法運算和數(shù);或者,采用以下第三種步驟第1步,設(shè)K個普通Q進制數(shù)參予加減運算,K為≥2的整數(shù),Q為自然數(shù);將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;第2步,采用所謂“二維運算”;即,在K個數(shù)的各位上,同時進行運算;并且同時對每一位上,n個和為0的數(shù)進行“對沖”;n為≥2的整數(shù);第3步,采用所謂“二維運算”;即,在K個數(shù)的各位上,同時進行運算;并且同時對每一位上,n個和為mQ的數(shù)進行“劃Q”;n為≥2的整數(shù),m為整數(shù);所得“混Q進位”,則存放到下一運算層的,任一數(shù)據(jù)行相鄰高位的空位或0位處;第4步,采用所謂“二維運算”;即,在K個數(shù)的各位上,同時進行運算;并且同時對每一位上,余下各數(shù)進行“累加”;或者直接移至下一運算層;累加采用≥2的“多數(shù)累加”;當(dāng)采用普通二數(shù)“累加”時,則順序串行累加;第5步,在下一個運算層中,將上述“按位和”數(shù)及“進位”數(shù)進行前述第2步、第3步、第4步求和運算;如此反復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;則最后所得數(shù),即為所求K個數(shù)混Q進制加法運算和數(shù)。
混Q進制、進位行數(shù)字工程方法,其運算為“混Q進制”運算;對于含0的{0,±1,…,±(Q-1)}Q進制,Q為>1的整數(shù),稱為“含0混Q進制”。符號表示為{含0,Q*};對于不含0的{±1,±2,…,±Q}Q進制,Q為自然數(shù),稱為“不含0混Q進制”。符號表示為{不含0,Q*}。含0和不含0的混Q進制,合起來統(tǒng)稱為“混Q進制”,Q為自然數(shù)。符號表示為{Q*}。當(dāng)不致誤解時,“含0混Q進制”亦可稱為“混Q進制”,亦以符號{Q*}來表示。
混Q進制、進位行數(shù)字工程方法,其運算采用“進位行方法”;即在運算過程中,將產(chǎn)生的進位存放在相鄰高位“進位行”中,然后與“按位和”一起進行運算。
混Q進制、進位行數(shù)字工程方法,對K個混Q進制數(shù)中的n個數(shù)進行求和運算時,如果在某一位上,其中n個運算數(shù)的“按位和”為零,但產(chǎn)生進位m(與n個數(shù)該位上的和數(shù)符號一致);n為≥2的整數(shù),m為整數(shù);進位放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;然后,將n個運算數(shù)的某位均以邏輯方式置“0”,不再參加以后的運算;這稱為“劃Q”;“劃Q”中m=0時,稱為“對沖”;或者,不采用“對沖”及“劃Q”。
混Q進制、進位行數(shù)字工程方法,所述運算數(shù)是混Q進制數(shù),Q為自然數(shù)??梢圆痪幋a;可以混數(shù)進制數(shù)編碼;也可以全一碼來編碼,即將各個混Q進制數(shù)的每一位數(shù)S,都以|S|個1從最低位順序至高位排列來對應(yīng),其余高位均為0??偽粩?shù)則為Q或(Q-1)位;同時,將S的數(shù)符,即表示該位的數(shù)為正或負(fù),作為相應(yīng)全一碼中每一位上的數(shù)符{參見第三部分增Q進制及全一碼}。當(dāng)采用全一碼來編碼混Q進制數(shù)時,n個數(shù)加法僅為n個數(shù)中1或1的不重復(fù)排列;其全一碼編譯可以定碼長或變碼長。
根據(jù)本發(fā)明的另一個方面,提供一種混Q進制、進位行計算機設(shè)計方案。包括輸入邏輯,K重運算器,輸出轉(zhuǎn)換邏輯及控制器組成;混數(shù)進制運算可為前述方案之一;本發(fā)明計算機中,采用方案二來展示;其中,K重運算器及控制器組成混Q運算控制邏輯。普通Q進制數(shù)經(jīng)移位寄存器輸入邏輯,獲得的混Q進制數(shù)至K重運算器;K重運算器中,混Q進制數(shù)經(jīng)K重運算獲得混Q進制數(shù)的結(jié)果;經(jīng)由編碼器輸出轉(zhuǎn)換邏輯,以混Q進制數(shù)、或普通Q進制數(shù)、或普通十進制數(shù)通過輸出邏輯輸出;控制器協(xié)調(diào)控制整個運算控制的邏輯。
“K重運算器”由累加器∑i和寄存器網(wǎng)、對沖網(wǎng)、劃Q網(wǎng)組成;i為序數(shù)。當(dāng)用于計算機,特別是電子計算機運算器中時,數(shù)字工程方法可采用前述第一種或第二種或第三種步驟。這里,采用第三種步驟來展示。
在運算過程中,首先將普通Q進制數(shù)化為混Q進制數(shù)一般形式。將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去。普通Q進制數(shù)輸入移位寄存器輸入邏輯,獲得的混Q進制數(shù)輸入至K重運算器。K重運算器中,為每個寄存器及其相應(yīng)的累加器∑i的每一位,分配一個符號位。該符號位為普通二態(tài)觸發(fā)器。K個寄存器存放輸入的K個混Q數(shù)。K重運算器中采用“二維運算”。即,在數(shù)的各位上同時進行運算;并且每一位上各數(shù),亦同時進行先“對沖”、后“劃Q”、再“累加”。當(dāng)下一個運算層指令到達時,將進位數(shù)與“按位和”數(shù)再進行相加;如此重復(fù),直至運算層中,運算后僅獲得一個數(shù)為止。最后,再經(jīng)累加器∑i輸出所求和數(shù)。當(dāng)K值較大時,上述“K重運算器”可以進行分級、分組放大。
對K個數(shù)中的n個數(shù)進行求和運算時,如果在某一位上,其中n個運算數(shù)的“按位和”為零,但產(chǎn)生進位m(與n個數(shù)的和數(shù)符號一致);n為≥2的整數(shù),m為整數(shù);進位放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;然后,將n個運算數(shù)的某位均以邏輯方式置“0”,不再參加以后的運算;這稱為“劃Q”;“劃Q”中m=0時,稱為“對沖”;或者,不采用“對沖”及“劃Q”。
計算機中所述運算數(shù)是混Q進制數(shù),Q為自然數(shù)??捎萌淮a編碼;或以混數(shù)進制數(shù)編碼;或不編碼。以全一碼來編碼時,即將各個混Q進制數(shù)的每一位數(shù)S,都以|S|個1從最低位順序至高位排列來對應(yīng),其余高位均為0??偽粩?shù)則為Q或(Q-1)位;同時,將S的數(shù)符,即表示該位的數(shù)為正或負(fù),作為相應(yīng)全一碼中每一位上的數(shù)符。當(dāng)采用全一碼來編碼混Q進制數(shù)時,n個數(shù)加法僅為n個數(shù)中1或1的不重復(fù)排列;其全一碼編譯可以定碼長或變碼長;本發(fā)明計算機中,采用定碼長來展示。
當(dāng)采用全一碼編碼時,K重運算器中的累加器,可以省略為全一碼移位寄存器。該寄存器專門存放結(jié)果和數(shù),又稱為“和數(shù)寄存器”。這時,如采用上述“二維運算”,則稱為“三維運算”。相應(yīng)的運算器,則稱為“三維運算器”。
計算機中所采用的元器件為P值元器件,P是數(shù)元集的基數(shù),P為>1的整數(shù);或者常取二值元器件;或者取三值元器件。
圖1是混Q進制計算機總邏輯框圖。
圖2是混Q進制、進位行計算機(運算控制)邏輯框圖;圖3是K重運算器第I位的邏輯框圖;圖4是對沖邏輯(對沖器)的邏輯框圖;
圖5是劃Q邏輯(劃Q器)的邏輯框圖;具體實施方式
第一部分 混Q進制、進位行數(shù)字工程方法1.《進位行方法》1.1進位與《進位行方法》在電子計算機等數(shù)值運算中,運算速度提高的關(guān)鍵之一,就在于“進位”。進位的獲得,進位的存貯以及進位的參予運算都是至關(guān)重要的?!斑M位”就是爭“速度”。在筆算工程中,還直接影響到“出錯率”。本部分以筆算工程為例。
所謂《進位行方法》就是,在運算過程中,將產(chǎn)生的進位存放在參予運算與“按位和”數(shù)同等的位置上,然后與“按位和”一起進行運算。通常同運算層中二數(shù)相加時,將各位上的進位排列成一行,稱為“進位行”。(運算層的概念,見下節(jié)。)舉例如下,設(shè)二普通十進制數(shù)求和,算式以豎式求和。如式三。
式三 式四 式五個位運算(6+8)=14,其進位1寫于下一行的高一位上。依此類推。式中二數(shù)相加時,各位上不計進位的求和,稱為“按位加_”。其和稱為“按位和”。按位和的數(shù)據(jù)行,稱為“_行”。_行與進位行組成“運算層”。式中一些“+”號已省去。以后可以知道,在混Q進制、進位行數(shù)字工程方法《混進方法HJF》中,除第0運算層外,各個“運算層”只存在一種運算,這就是“+”。故可以不必在這些運算層中寫出“+”號。
1.2《進位行方法》分析1.2.1二數(shù)求和的分析采用《進位行方法》的加法運算由上節(jié)可知①二數(shù)相加時,每一位上只有二個數(shù)相加;在進位行中直接標(biāo)示進位,不存在任何困難;②驗算十分方便。
二數(shù)相加時,任意位上要么有進位記為1,要么無進位記為0;[引理二]二數(shù)相加時,任意位上的_和可為0~9之一。但是,當(dāng)該位上有向高位進位時,該位上的_和只能為0~8之一,而不能為9。
由[引理一]和[引理二]可得[定理一]二數(shù)相加時,當(dāng)且僅當(dāng)某位上沒有向高位進位時,該位上的_和才可能出現(xiàn)9。
1.2.2層次概念及運算層設(shè)二數(shù)求和。算式為式四、式五。由式四可見,運算是分層次進行的。運算層將一個運算解剖成子運算。每一運算層中,又將子運算解剖成微運算。微運算僅完成一項簡單運算。這就是運算的“層次”概念?!皩哟巍备拍钍菙?shù)學(xué)中的基本概念,《進位行方法》正是建立在此基礎(chǔ)上。以往的加法運算方法,本質(zhì)上也隱含“層次”概念。因此,《進位行方法》中的“層次”,從總體上看并未增加運算的復(fù)雜性。反之,以往的方法由于隱含了“層次”,反而進一步增加了運算的復(fù)雜性。這一點,也進一步造成運算速度被降低。二者對比,就會一清二楚。
在《進位行方法》中,二數(shù)相加的各個運算層,除第0運算層外,可以合并為一個運算層。如式五。進一步分析如下。
1.2.3唯一的運算層二數(shù)相加時,特別情況下會出現(xiàn)多次運算層。各層有如下關(guān)系成立。
二數(shù)相加時,當(dāng)某位前一運算層上有進位時,其后各運算層上均不可能出現(xiàn)進位。(由引理一、二得)[引理四]二數(shù)相加時,當(dāng)某位后一運算層上有進位時,其前各運算層上必?zé)o進位。(由引理一、二得)[定理二]二數(shù)相加時,同一位各運算層上,要么都無進位,要么只能有一個進位。(由引理三、四得)[推論]二數(shù)相加時,可以將全部各層進位行合并為一個進位行;除第0運算層外,可以將各運算層合并為一個運算層。
1.2.4三數(shù)及三數(shù)以上求和分析設(shè)三數(shù)求和,算式為231+786+989=2006(見式六)。又,設(shè)六數(shù)求和。算式為786+666+575+321+699+999=4046(見式七)。操作要點①“劃Q”的運用;所謂“劃Q”,即Q進制的n個數(shù)在某位上相加時,其按位加和為零,但該位上產(chǎn)生進位m(與n個數(shù)的和數(shù)符號一致)。n為≥2的整數(shù),m為整數(shù)。進位放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;同時在某位上,該n個數(shù)均不再參加運算。即,同一位上n個數(shù)和為mQ時,可將n個數(shù)均劃去,然后在高位空位或0位處補m。在十進制時Q=10,劃Q即為“劃十”。
式六 式七②多個數(shù)相加,可出現(xiàn)二個及二個以上的運算層。為了減少運算層數(shù),同一位上的同一運算層空位或0位中,進位及_和數(shù)可以任意占位;一個運算層中某位上的進位,可以放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;③盡量減少運算層。a、較小的數(shù),直接合并算;b、盡量在“配對”中進位;c、盡量減少在第一運算層上相加數(shù)的個數(shù),盡量使第二及二以上運算層不出現(xiàn)。
④同一位上,各數(shù)進行“累加”,或者直接移至下一運算層;累加采用≥2的“多數(shù)累加”;當(dāng)采用普通二數(shù)“累加”時,則順序串行累加;“相同數(shù)”、“連續(xù)數(shù)”等,可直接得“部分和”。
2.混數(shù)及混數(shù)進制2.1《數(shù)制理論SZLL》2.1.1按同一種規(guī)則記錄數(shù),便于用來在一個數(shù)系統(tǒng)中進行運算的數(shù)的制度,稱為“記數(shù)系統(tǒng)的制度”。簡稱為“數(shù)制”。一個數(shù)的質(zhì),首先就是由其所屬的數(shù)制來決定的。恩格思指出“單個的數(shù)在記數(shù)法中已經(jīng)得到了某種質(zhì),而且質(zhì)是依照這種記數(shù)法來決定的?!薄耙磺袛?shù)的定律都取決于所采用的記數(shù)法,而且被這個記數(shù)法所決定?!睌?shù)制是數(shù)的屬性。不存在沒有所屬數(shù)制的數(shù),也不存在沒有所屬數(shù)的數(shù)制。
《數(shù)制理論SZLL》就是研究數(shù)制的生成、分類、分析、比較、變換、計算等的科學(xué)。它也是研究數(shù)制在數(shù)論、群論、集合論、博弈論等數(shù)學(xué)其他分支;及其在多值邏輯、Walsh函數(shù)、《狹義及廣義模隨論MSL》等各鄰近學(xué)科;特別是在數(shù)字工程領(lǐng)域的計算機、筆算工程及算盤中應(yīng)用的科學(xué)。它是數(shù)學(xué)的基礎(chǔ)理論之一。數(shù)學(xué)科學(xué),即“數(shù)”的科學(xué)?!皵?shù)”的基本為“數(shù)制”。因此,《數(shù)制理論SZLL》是“數(shù)論”的基礎(chǔ),是“核心數(shù)學(xué)”的“核心”之一。
2.1.2位值制數(shù)制設(shè),構(gòu)造一個數(shù)系,其中的數(shù)以各不相同位置上的“數(shù)符”來表示?!皵?shù)符”又稱“數(shù)字”。數(shù)字通常從右向左水平排列。對于每個數(shù)位上的全部數(shù)字均給定一個單位值(又稱“位值”),其值由低(小)到高(大)。以此表示整個數(shù)系中每一個數(shù)的數(shù)制,稱為“位值制數(shù)制”。我們以下討論的數(shù)制,都是“位值制數(shù)制”。在不致誤解時,也直接簡稱為“數(shù)制”。
2.1.3數(shù)制的三大要素數(shù)位I,數(shù)元集Zi和權(quán)Li。
a、數(shù)位I表示數(shù)制中數(shù)的各位數(shù)字的位置。I為序數(shù),各位從右自左來表示。即,i=1,2,3,…表示該數(shù)的第1,2,3,…位。
b、數(shù)元集Zi,表示第I位上的“數(shù)元”組成的集合。同一數(shù)制系統(tǒng)中,各個數(shù)同一位上不同符號的全體,組成一個該位上的數(shù)符集。該數(shù)符集中的元素,稱為“數(shù)的元素”。簡稱為“數(shù)元”。因此,該數(shù)符集稱為“數(shù)元集Z”。數(shù)元集Zi可以隨著i的取值不同而不同,也可以相同。當(dāng)各位上的Zi均為相同的Z時,相應(yīng)的數(shù)制稱為“單一集數(shù)制”或“單一數(shù)制”;當(dāng)各位上的Zi不全相同時,相應(yīng)的數(shù)制稱為“聯(lián)合集數(shù)制”或“聯(lián)合數(shù)制”。
數(shù)元集Zi中的數(shù)元可為復(fù)數(shù)或其他多種多樣符號。在《數(shù)制理論》中,以aj來表示數(shù)元(a1,a2,a3,…),j為自然數(shù)。以iaj表示第i位上數(shù)元aj。約定,aj=-A(A為復(fù)數(shù))時,可表示為aj=A。數(shù)元集Zi以集合{a1,…,aj,…}來表示,即Zi={a1,…,aj,…};或者,Zi以文字表明其特征。為便于計算,通常取數(shù)元aj為整數(shù),以阿拉伯?dāng)?shù)字來表示。
數(shù)元集Zi的基數(shù)Pi(Pi為自然數(shù)),表示了集的元素總數(shù)。恩格思指出它“不但決定它自己的質(zhì),而且也決定其他一切數(shù)的質(zhì)?!盤i的取值不同,標(biāo)示了數(shù)元集Zi的變化。各位上的Pi為相同的P,則稱為“單一基數(shù)”;否則,稱為“聯(lián)合基數(shù)”。
在《數(shù)制理論》的“位值制數(shù)制”中,定義數(shù)中的“空位”表示“無”,其位值為0,稱為“空位0”?!翱瘴?”是0的一種,是0的一種表達形式,是一種隱含的0。通常不加以標(biāo)明;在數(shù)元集中,“空位”是一種特殊的數(shù)元,稱為“空位元”。簡稱為“空元”?!翱赵笔敲恳粋€“位值制數(shù)制”數(shù)元集均有的數(shù)元,其在數(shù)元集中的表示即為“空位”。通常不加以標(biāo)明?!翱赵笔菙?shù)元集中,唯一通常不計入數(shù)元aj,也不計個數(shù),即個數(shù)為0的數(shù)元;另一方面,在特別情況下,為統(tǒng)一表述,則將其計入數(shù)元,其個數(shù)計為1。
c、權(quán)Li,表示第i位上的位值大小。特稱此位值為“權(quán)Li”。Li為實數(shù)。為便于計算,通常取權(quán)Li為整數(shù),特別是自然數(shù),以阿拉伯?dāng)?shù)字來表示。不同的Li,就決定了不同的位值。在“編碼理論”中,“編碼”的主要特征就在于權(quán)Li。
實際中常見的權(quán)Li采用所謂“冪權(quán)”。即,令Li=Qi(i-1),Qi為實數(shù)。為便于計算,通常取Qi為自然數(shù)。Qi可以阿拉伯?dāng)?shù)字來表示,也可以中文小寫數(shù)字來表示。常見各位Li均為冪權(quán),而且成等比Q的數(shù)制。Q稱為數(shù)制冪權(quán)的“底數(shù)”或數(shù)制的“底數(shù)”。底數(shù)Q的不同,決定了不同的Li,從而決定了不同的位值。Qi可以隨著i的取值不同而不同,也可以相同。當(dāng)各位上的數(shù)制冪權(quán)Qi,其底數(shù)均為相同的Q時,相應(yīng)的數(shù)制稱為“單一Q進制”。簡稱為“Q進制”或“進制”。當(dāng)各位上的數(shù)制冪權(quán)Qi,其底數(shù)不全相同時,相應(yīng)的數(shù)制稱為“聯(lián)合Q進制”。另一種常用的權(quán)Li采用“等權(quán)”,即各位上的權(quán)L相同。
根據(jù)上述數(shù)制的三大要素,數(shù)制可以有無窮無盡的種類。
2.2混數(shù)及混數(shù)進制當(dāng)數(shù)元集Zi中,含數(shù)元0時,該相應(yīng)數(shù)制被稱為“含0數(shù)制”。對于進制,則稱為“含0進制”;當(dāng)數(shù)元集Zi中,不含數(shù)元0時,該相應(yīng)數(shù)制被稱為“不含0數(shù)制”。對于進制,則稱為“不含0進制”。
當(dāng)數(shù)元集Zi中,既有正數(shù)元,又有負(fù)數(shù)元時,相應(yīng)數(shù)制被稱為“混數(shù)數(shù)制”。對于進制,則稱為“混數(shù)進制”;混數(shù)數(shù)制中的數(shù),稱為“混數(shù)”?!盎鞌?shù)”中既有正數(shù)元又有負(fù)數(shù)元的數(shù),稱“純混數(shù)”。當(dāng)數(shù)元集Zi中,正負(fù)數(shù)元是相反數(shù)時,相應(yīng)數(shù)制稱為“對稱數(shù)制”。對于進制,則稱為“對稱進制”。
當(dāng)數(shù)元集Zi中,全部數(shù)元為連續(xù)整數(shù)成為“整數(shù)段”時,該相應(yīng)數(shù)制被稱為“整數(shù)段數(shù)制”。對于進制,則稱為“整數(shù)段進制”恩格斯指出“零比其他一切數(shù)都有更豐富的內(nèi)容?!辫b于“0”的這種特殊重要性,在《數(shù)制理論》中,含0整數(shù)段去掉0時,仍作為一種特殊的整數(shù)段。
2.3混Q進制{Q*}在《數(shù)制理論》中建立了“代數(shù)數(shù)制系統(tǒng)”。一個數(shù)制的名稱采用“Zi Li”。對Q進制,則為ZiQi;單一數(shù)制時,則為ZLi;單一數(shù)制中聯(lián)合Q進制時,則為ZQi。單一數(shù)制中Q進制時,則為ZQ。其中,Q以中文小寫數(shù)來表示。
對于含0的普通Q進制,Z={0,1,…,(Q-1)}。故ZQ={0,1,…,(Q-1)}Q,Q為>1的整數(shù),稱為“含0普通Q進制”。符號表示為{含0,Q};對于不含0的{1,2,…,Q}Q,Q為自然數(shù),稱為“不含0普通Q進制”。符號表示為{不含0,Q}。
含0和不含0的普通Q進制,合起來統(tǒng)稱為“普通Q進制”,Q為自然數(shù)。符號表示為{Q}。當(dāng)不致誤解時,“含0普通Q進制”亦可稱為“普通Q進制”,亦以符號{Q}來表示。故可以符號{二}及{十}來表示普通二進制及普通十進制。
在任一個具有整數(shù)段數(shù)元集的Q進制數(shù)制中,當(dāng)P=Q時,自然數(shù)在該數(shù)制中可以連續(xù)唯一的形態(tài)表達,稱為“連續(xù)數(shù)制”,又稱“普通數(shù)制”;當(dāng)P>Q時,自然數(shù)在該數(shù)制中可以連續(xù),但有時以多種形態(tài)表達,稱為“重復(fù)數(shù)制”,或“增強數(shù)制”。對于Q進制,又稱為“增強Q進制”,簡稱為“增Q進制”;當(dāng)P<Q時,自然數(shù)在該數(shù)制中只能斷續(xù)的形態(tài)表達,稱為“斷續(xù)數(shù)制”,或“減弱數(shù)制”。對于Q進制,又稱為“減弱Q進制”,簡稱為“減Q進制”。
本文中的混數(shù)進制主要為以下幾類。
對于含0的{0,±1,…,±(Q-1)}Q進制,Q為>1的整數(shù),稱為“含0混Q進制”。符號表示為{含0,Q*};對于不含0的{±1,±2,…,±Q}Q進制,Q為自然數(shù),稱為“不含0混Q進制”。符號表示為{不含0,Q*}。含0和不含0的混Q進制,合起來統(tǒng)稱為“混Q進制”,Q為自然數(shù)。符號表示為{Q*}。當(dāng)不致誤解時,“含0混Q進制”亦可稱為“混Q進制”,亦以符號{Q*}來表示。故可以符號{十*}及{二*}來表示“混十進制”及“混二進制”。在《數(shù)制理論》中,{十*}的名稱是“單一基數(shù)P=19,含0,整數(shù)段,對稱的十進制”。可寫為{十九,含0,整數(shù)段,對稱}十進制,或者寫為{0,±1,±2,…,±9}十進制。一般情況下,進一步符號表示為{十*},稱為“混十進制”;{二*}的名稱是“單一基數(shù)P=3,含0,整數(shù)段,對稱的二進制”??蓪憺閧三,含0,整數(shù)段,對稱}二進制,或者寫為{0,±1}二進制。一般情況下,進一步符號表示為{二*},稱為“混二進制”。
2.4混數(shù)編碼當(dāng)A進制數(shù)元以B進制數(shù)等來編碼時,A進制數(shù)按位排列成相應(yīng)的B進制數(shù)等。這稱為“以B進制數(shù)等編碼的A進制數(shù)”,簡稱為“B編碼的A數(shù)”,或“編碼B數(shù)”,或“編碼數(shù)”。例,{十}328={二}101001000;其“編碼{二}數(shù)”為0011,0010,1000。如上述“編碼{0,±1}二進制數(shù)”,即指以{0,±1}二進制(其特況為普通二進制)數(shù)來編碼的“編碼數(shù)”。所謂“編碼B數(shù)”的運算,即為“編碼B進制”運算。這時,A進制數(shù)的位與位間為A進制運算,但每位中則為B進制運算。A進制數(shù)元以B進制數(shù)等來編碼時,所需B進制數(shù)的最多位數(shù),稱為“碼長”。固定的“碼長”,稱為“定碼長”;如最高位0不加以標(biāo)明,使之成為“空位0”時,相應(yīng)“碼長”是變化的,稱為“變碼長”。
混Q進制、進位行數(shù)字工程方法,所述運算數(shù)是混Q進制數(shù),Q為自然數(shù)??梢圆痪幋a;可以混數(shù)進制數(shù)編碼;也可以全一碼來編碼,即將各個混Q進制數(shù)的每一位數(shù)S,都以|S|個1從最低位順序至高位排列來對應(yīng),其余高位均為0??偽粩?shù)則為Q或(Q-1)位;同時,將S的數(shù)符,即表示該位的數(shù)為正或負(fù),作為相應(yīng)全一碼中每一位上的數(shù)符。當(dāng)采用全一碼來編碼混Q進制數(shù)時,n個數(shù)加法僅為n個數(shù)中1或1的不重復(fù)排列;其全一碼編譯可以定碼長或變碼長。
3.《混進方法HJF》及其混十進制{十*}四則運算。
采用混數(shù)進制和《進位行方法》來進行有理數(shù)運算的方法,稱為《混數(shù)進制、進位行方法》,簡稱為《混進方法HJF》。采用混Q進制和《進位行方法》來進行有理數(shù)運算的方法,稱為《混Q進制、進位行方法》;當(dāng)不致誤解時,亦可簡稱為《混進方法HJF》。當(dāng)用于算盤或筆算數(shù)字工程,采用的是{十*}混十進制等的《混進方法HJF》。當(dāng)用于計算機,特別是電子計算機中時,采用的是{二*}混二進制及{十*}混十進制等的《混進方法HJF》?;鞌?shù)進制運算可為前述方案之一;本發(fā)明中,《混進方法HJF》采用方案一,以筆算工程來展示;可采用前述第一種或第二種步驟。這里,采用第二種步驟。
3.1{十*}的加法例123+45 6=427(見式八) 式八式九 式十式中求得和為57 3。當(dāng)需要轉(zhuǎn)化為普通十進制{十}數(shù)時,和為427。一般來說,所求和573不必轉(zhuǎn)化(特別是作為計算過程中間結(jié)果時)。確需轉(zhuǎn)化時,方法見4.1轉(zhuǎn)換法則。
3.2{十*}的減法例123-45 6=123+456=339例112+56-32-85+67-46=72(見式九)首先減法化為加法來運算。這一來實際計算中,加減就合并為加法了。這就消除了通常連加減的困難,這是由于混數(shù)的特性所決定。
同一位上的n個數(shù)求和時,若和數(shù)為零,則這n個數(shù)可以消去。這稱為“約混”,或“對消”,或“對沖”。即,“劃Q”中m=0時,稱為“對沖”。在算式中,該位上的這n個數(shù),可以斜線劃去,不再參加以后的運算。在實際運算中,采用先“對沖”、后“劃Q”、再“累加”,來獲得混Q數(shù)的結(jié)果。
3.3{十*}的乘法例23 8×89=12502(見式十)3.4{十*}的除法 例5728÷23=249……1要點①式十一采用原普通除法,現(xiàn)采用四則統(tǒng)一算式。如式十二。
②式十二中由于采用混數(shù)可使除法中的“減”過程變?yōu)椤凹印边^程。
為了去掉“減”過程的思路,進一步還可以令被除數(shù)變號。然后,整個“減”過程完全變成“加”過程。這可使整個運算的復(fù)雜性進一步降低。以后,除法就以此來進行。應(yīng)該注意,此時若出現(xiàn)余數(shù),則要將該余數(shù)變號后,才是最終運算結(jié)果的余數(shù)。
式十一 式十二式十三3.5四則運算的特點①加減法合并為加法。
②乘除方法簡單;除法中的“減”過程可變?yōu)椤凹印边^程;除法中的試商過程,可變?yōu)橛柘仍O(shè)定的迭代過程。
③四則運算加減乘除,均可全面地顯著提高運算速度。
④加強運算正確性的保障,在“筆算工程”中,大大降低筆算的出錯率。
4.《混十進制》{十*}與《普通十進制》{十}的關(guān)系。
4.1{十*}與{十}數(shù)的轉(zhuǎn)換法這里指整數(shù)的情況,例如{十*}3822 96={十}221716(式十三)。{十}數(shù)本身即為{十*}數(shù)的一種特況,故{十}數(shù)不經(jīng)轉(zhuǎn)換即為{十*}數(shù),只要將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去。
{十*}數(shù)轉(zhuǎn)換成{十}數(shù)。方法有幾種一種是將{十*}數(shù)變?yōu)橐徽回?fù)的二個{十}數(shù)求和。這有好多方式。其中,典型的是將該{十*}數(shù)中各正數(shù)字位及0位作為一正{十}數(shù),而將各負(fù)數(shù)字位作為一負(fù){十}數(shù)。例{十*}3822 96={十}302006-80290=221716。再一種是在該數(shù)的各位上,使正數(shù)不變;負(fù)數(shù)變?yōu)槠浣^對值對10取“補”數(shù),同時在相鄰的高位減1(即加1)。另一種方法是在該數(shù)的各位上,連續(xù)正數(shù)字(或0)的數(shù)字段照寫不變。如3×2××6。但,當(dāng)其不在{十*}數(shù)末尾(個位)時,則最低位加1;連續(xù)負(fù)數(shù)字的數(shù)字段,則使負(fù)數(shù)字變?yōu)槠浣^對值對9取“補”數(shù),如×1×70×。然后,在其最低位加1。這樣,求得結(jié)果為221716,即為相應(yīng){十}數(shù)。當(dāng)需轉(zhuǎn)換的{十*}數(shù)首位為負(fù),即該數(shù)為負(fù)數(shù)時,則將該數(shù)的相反數(shù)轉(zhuǎn)換成{十}數(shù),然后取此{十}數(shù)的符號為負(fù)即可。
表一4.2{十*}與{十}對照表及其說明(見表一)①表一中0+0-分別為從正負(fù)方向趨近于0所獲得的0。
②表一中 表示形式為“連續(xù)非負(fù)整數(shù)個9”的全體的縮寫。即 可為0個9,可為1個9,可為99,可為999,…等形式。這種形式表示的集合,稱為“連集”。顯然,“連集”為無限集。設(shè)E為整數(shù),則 為E的“連集”,簡稱為“連E”。讀作“E點”。以“連集”形式表示的一組無窮個數(shù),稱為“連集數(shù)組”或“連集組數(shù)”。
③0‾=0·=0,]]>由數(shù)10的二種表達形式可知。因此0‾=0=0·=0·‾.]]>④在{十*}數(shù)系統(tǒng)中,“連集”形式有且僅有 四種。由于0·=0·‾,]]>故“連集”形式有且僅有 三種;亦可寫為 三種。
4.3{十*}與{十}關(guān)系分析{十}數(shù)是{十*}數(shù)的一部分,{十}數(shù)集是{十*}數(shù)集的真子集;{十*}數(shù)_{十}數(shù),即{十*}數(shù)對{十}數(shù)有真包含關(guān)系。
{十}數(shù)與{十*}數(shù)的關(guān)系是“一多對應(yīng)”關(guān)系,而不是“一一對應(yīng)”關(guān)系。正由于此,{十*}就獲得了多樣處理的靈活性。這是{十*}運算中多樣性、快速性的原因。從這一點來說,{十*}具有較強的功能。{十}中P=Q,因而在該數(shù)制中,自然數(shù)是連續(xù)唯一形態(tài)表達。它沒有這種多樣性,也缺少了這種相應(yīng)的靈活性。{十*}中P>Q,因而在該數(shù)制中自然數(shù)會出現(xiàn)多種形態(tài)表達。這正是該數(shù)制靈活性所在,它使運算得以簡便快捷。也可以說{十*}是以多樣性來換取了靈活性。有了它,才有了《混進方法HJF》,才有了“筆算工程”的新技術(shù)方案。有了它,也才有了計算機及其相應(yīng)電子計算機新技術(shù)方案。
{十*}數(shù)轉(zhuǎn)換為{十}數(shù),只能化為相應(yīng)唯一的一個數(shù)。這是因為,{十*}數(shù)可經(jīng){十}數(shù)加減直接獲得,而{十}數(shù)加減運算后的結(jié)果是唯一的。反之,{十}數(shù)也只能化為相應(yīng)唯一的一組{十*}“連集組數(shù)”。所以,這種{十}數(shù)的“一”與{十*}“連集組數(shù)”的“一”組,二者是“一一對應(yīng)”關(guān)系。由此,可建立一種{十*}數(shù)與{十}數(shù)的互為映射關(guān)系。由于變換是集到自身上的對應(yīng),所以{十}與{十*}數(shù)是“一一變換”。對于運算系統(tǒng)來說,{十}與{十*}數(shù)系統(tǒng)是“自同構(gòu)”。相應(yīng){十}數(shù)的各種運算性質(zhì),亦在{十*}數(shù)系統(tǒng)中成立。
應(yīng)當(dāng)指出,顯然,上述對{十}與{十*}的分析,完全相應(yīng)于{Q}與{Q*}的分析,因為{十}與{Q}是同構(gòu)的。由此可知①{Q}數(shù)是{Q*}數(shù)的一部份,{Q}數(shù)集是{Q*}數(shù)集的真子集。{Q*}數(shù)_{Q}數(shù),即{Q*}數(shù)對于{Q}數(shù)有真包含關(guān)系。②{Q}數(shù)與(Q*}數(shù)的關(guān)系是“一多對應(yīng)”,而不是“一一對應(yīng)”。③同時,{Q}中的“一”個數(shù)與相應(yīng)的{Q*}中的“一”組“連集組數(shù)”,二者之間是“一一對應(yīng)”關(guān)系。④{Q}與{Q*}數(shù)系統(tǒng)是“自同構(gòu)”。相應(yīng){Q}數(shù)系統(tǒng)的各種運算性質(zhì),亦在{Q*}數(shù)系統(tǒng)中成立。
5.綜合上述,可有如下簡明結(jié)論混Q進制{Q*}及《混進方法HJF》在數(shù)字工程中,可顯著提高運算速度,而且大大降低筆算的出錯率。它正是錢學(xué)森指出的數(shù)學(xué)第三層次“直接應(yīng)用的工程技術(shù)”。這種“工程技術(shù)”與數(shù)字計算工程緊密結(jié)合的方法,稱為“混Q進制、進位行數(shù)字工程方法”。
第二部分 混Q進制、進位行計算機四則運算是一切運算的基礎(chǔ)。顯然也是計算機,特別是電子計算機的基礎(chǔ)。圖1為本發(fā)明計算機相應(yīng)的混Q進制計算機總邏輯框圖。由輸入邏輯101、CPU中央計算機102、外存103、輸出邏輯104、控制臺105、輸出轉(zhuǎn)換邏輯108組成。中央計算機102由內(nèi)存106、混Q運算控制邏輯107組成。這些部件的連接關(guān)系是本領(lǐng)域公知的。普通Q進制數(shù)通過輸入邏輯101,將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;輸入中央計算機102,并通過混Q運算控制邏輯107進行混Q運算;運算結(jié)果連接輸出轉(zhuǎn)換邏輯108,以混Q進制數(shù)、或普通Q進制數(shù)、或普通十進制數(shù)通過輸出邏輯104輸出。內(nèi)存106及外存103與運算控制邏輯107交換數(shù)據(jù),執(zhí)行原有普通Q進制的程序。總操作由控制臺105按既定程序控制,以時鐘脈沖來實現(xiàn)。
圖2為混Q進制、進位行計算機(運算控制)邏輯框圖,由輸入邏輯101,K重運算器202,輸出轉(zhuǎn)換邏輯108及控制器201組成。其中,控制器201和K重運算器202組成混Q運算控制邏輯107。通過輸入邏輯101,普通Q進制數(shù)每一位上被分配到相應(yīng)數(shù)符。當(dāng)采用全一碼編碼時,輸入邏輯101為全一碼移位寄存器。這時,只要將這些全一碼編碼{Q}數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)全一碼的每一位上去。然后,混Q進制數(shù)送至K重運算器202;K重運算器202中,混Q進制數(shù)經(jīng)K重運算獲得混Q進制數(shù)的結(jié)果,經(jīng)由譯碼器輸出轉(zhuǎn)換邏輯108以混Q進制數(shù)、或普通Q進制數(shù)、或普通十進制數(shù)通過輸出邏輯104輸出??刂破?01協(xié)調(diào)控制整個運算控制器的邏輯。
圖3為K重運算器第I位的邏輯框圖,I為序數(shù);混數(shù)進制運算可為前述方案之一;本發(fā)明計算機中,采用方案二來展示;“K重運算器”202由累加器∑i304和寄存器網(wǎng)311、對沖網(wǎng)312、劃Q網(wǎng)313組成;i為序數(shù);當(dāng)用于計算機,特別是電子計算機運算器中時,數(shù)字工程方法可采用前述第一種或第二種或第三種步驟。這里,采用第三種步驟來展示。
其中寄存器網(wǎng)311由1寄存器1i301、2甯存器2i302、K寄存器Ki303等組成;各個寄存器二二相連;K個寄存器存放輸入的K個混Q數(shù);累加器∑i304為與Ki寄存器303相應(yīng)的累加器,用來存放累加和數(shù)。每個寄存器及累加器∑i304每一位分配一個符號位,該符號位為普通二態(tài)觸發(fā)器;符號位也可以放置在專用的符號位寄存器中,在運算時為存放混Q數(shù)的寄存器或累加器的每一位分配一個符號。
在運算指令的控制下,K重運算器202中采用所謂“二維運算”。即,在數(shù)的各位上同時進行運算;并且每一位上各數(shù),亦同時進行運算。然后,“部份和”數(shù)送至寄存器網(wǎng)311中,替換原存數(shù);進位送至寄存器網(wǎng)311中的相鄰高位,替換原存數(shù)。當(dāng)下一個運算層指令到達時,將進位數(shù)與“按位和”數(shù)再進行相加;如此重復(fù),直至運算層中,運算后僅獲得一個數(shù)為止。最后,再經(jīng)累加器∑i304輸出所求和數(shù)。
本發(fā)明計算機相應(yīng)的計算機運算器中,除采用一般的累加器運算外,為了加速運算,可以采用“對沖”及“劃Q”邏輯。對K個混Q進制數(shù)中的n個數(shù)進行求和運算時,如果在某一位上,其中n個運算數(shù)的“按位和”為零,但產(chǎn)生進位m(與n個數(shù)該位上的和數(shù)符號一致);n為≥2的整數(shù),m為整數(shù);進位放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;然后,將n個運算數(shù)的某位均以邏輯方式置“0”,不再參加以后的運算;這稱為“劃Q”;“劃Q”中m=0時,稱為“對沖”;或者,不采用“對沖”及“劃Q”。“對沖”及“劃Q”邏輯線路在技術(shù)上是簡單成熟的。其中,“對沖”、“劃Q”采用n=2、Q,m=0、±1時的“劃Q”;計算機中元器件采用二值元器件。
“對沖”及“劃Q”可采用對沖網(wǎng)312和劃Q網(wǎng)313。對沖網(wǎng)312由一個對沖邏輯305巡檢;或由K(K-1)/2個對沖邏輯305、對沖邏輯306、…、對沖邏輯307與寄存器網(wǎng)311中各個寄存器二二相連組成;或由分級、分組的對沖邏輯組成。劃Q網(wǎng)313由一個劃Q邏輯308巡檢;或由K(K-1)/2個劃Q邏輯308、劃Q邏輯309、…、劃Q邏輯310與寄存器網(wǎng)311中各個寄存器二二相連組成;或由分級、分組的劃Q邏輯組成。
采用“對沖”及“劃Q”時,由控制器或程序發(fā)出的指令,對各個運算數(shù)的每一位實施先“對沖”、后“劃Q”運算。劃Q產(chǎn)生的“進位”(與運算和數(shù)同符號),送至下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處。即,“進位”送至K重運算器202中任一寄存器的相鄰高位的空位或0位處置“1”端。然后,進行累加運算。累加采用≥2的“多數(shù)累加器”;當(dāng)采用普通二數(shù)“累加器”時,則順序串行累加。當(dāng)采用全一碼編碼時,K重運算器202中的累加器∑i304可省略為全一碼移位寄存器。該寄存器專門存放結(jié)果和數(shù),又稱為“和數(shù)寄存器”。這時,如采用上述“二維運算”,則稱為“三維運算”。相應(yīng)的運算器,則稱為“三維運算器”。
上述“K重運算器”當(dāng)K值較大時,可加以分級、分組放大處理。
圖4為對沖邏輯(對沖器)的邏輯框圖。其中的對沖邏輯典型組合,由1寄存器的第1i位301,2寄存器的第2i位302,同邏輯403,異邏輯404及與門405組成;1寄存器的第1i位301及2寄存器的第2i位302,其前附有符號位,為普通二態(tài)觸發(fā)器;當(dāng)采用全一碼來編碼并采用二值元器件時,對沖采用n=2,m=0;1寄存器的第1i位301,全一編碼為1i1位401、1i2、…;2寄存器的第2i位302,全一編碼為2i1位402、2i2、…;K寄存器的第Ki位303,全一編碼為Ki1、Ki2、…;從1i1、1i2、…及2i1、2i2、…,直至Ki1、Ki2、…,全一碼編碼的全體中,任取二個形成組合;例取此中一個典型組合如下述1寄存器的第1i1位401,其“1”端連接同邏輯403的輸入,1i1符的“1”端連接異邏輯404輸入;2寄存器的第2i1位402,其“1”端連接同邏輯403的輸入,2i1符的“1”端連接異邏輯404的輸入;同邏輯403的輸出連接與門405輸入;異邏輯404的輸出連接與門405輸入;與門405的輸出,連接1寄存器的第1i1位401及2寄存器第2i1位402的置“0”端;圖5為劃Q邏輯(劃Q器)的邏輯框圖。其中的劃Q邏輯典型組合,由1寄存器的第1i位301,2寄存器的第2i位302,Q值判定邏輯501,同邏輯502及與門503組成;1寄存器的第1i位301及2寄存器的第2i位302,其前附有符號位,為普通二態(tài)觸發(fā)器;當(dāng)采用全一碼來編碼并采用二值元器件時,劃Q采用n=Q,m=±1;1寄存器的第1i位301,全一編碼為1i1位401、1i2、…;2寄存器的第2i位302,全一編碼為2i1位402、2i2、…;K寄存器的第Ki位303,全一編碼為Ki1、Ki2、…;從1i1、1i2、…及2i1、2i2、…,直至Ki1、Ki2、…,全一碼編碼的全體中,任取Q個形成組合;例取此中一個典型組合如下述1i1位401的“1”端連接Q值判定邏輯501的輸入,1i符的“1”端連接同邏輯502的輸入2i1位402的“1”端連接Q值判定邏輯501的輸入2i符的“1”端連接同邏輯502的輸入;如此連接共Q個;Q值判定邏輯501接受共Q個輸入;Q值判定邏輯501的輸出連接與門503的輸入;同邏輯502接受共Q個輸入;同邏輯502的輸出連接與門503輸入;與門503輸出進位(同符號),送至K重運算器中任一進位行寄存器的相鄰高位置“1”端,并置該高位數(shù)符與1i符相同;同時,與門503輸出進位,連接1寄存器的第1i1位401、2寄存器第2i1位402及組合內(nèi)共Q個置“0”端。
混Q進制、進位行計算機,其中所述運算數(shù)是混Q進制數(shù),Q為自然數(shù)??捎萌淮a編碼來表示;或者,以混數(shù)進制數(shù)編碼;或者,不編碼;以全一碼來編碼時,即將各個混Q進制數(shù)的每一位數(shù)S,都以|S|個1從最低位順序至高位排列來對應(yīng),其余高位均為0??偽粩?shù)則為Q或(Q-1)位;同時,將S的數(shù)符,即表示該位的數(shù)為正或負(fù),作為相應(yīng)全一碼中每一位上的數(shù)符。當(dāng)采用全一碼來編碼混Q進制數(shù)時,n個數(shù)加法僅為n個數(shù)中1或1的不重復(fù)排列;其全一碼編譯可以定碼長或變碼長;本發(fā)明計算機中,采用定碼長來展示。
計算機中所采用的元器件為P值元器件,P是數(shù)元集的基數(shù),P為>1的整數(shù);或者常取二值元器件;或者取三值元器件。當(dāng)采用{Q*}運算,并且以全一碼編碼時(其他混數(shù)進制類似),在運算及其控制中采用{1,0,1}三態(tài)進行。故計算機中元器件,采用三值元器件。當(dāng)采用二值元器件時,其中1、1的正負(fù)號以一位{二}數(shù)表示,其權(quán)為0。即,以二位{二}數(shù)編碼{1,0,1}三態(tài)。這時,K重運算器202中的累加器∑i304,可以省略為全一碼移位寄存器。
當(dāng)采用{Q*}運算時,運算器的輸入將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;不需要將{Q}數(shù)轉(zhuǎn)換為{Q*}數(shù),因為{Q}數(shù)本來就是{Q*}數(shù)。即,{Q*}數(shù)={Q}數(shù)+純{Q*}數(shù)。另一方面,運算器的輸出在一般中間過程,也不必要將{Q*}數(shù)轉(zhuǎn)換為{Q}數(shù)。只有在需要輸出最終結(jié)果時,才將{Q*}數(shù)轉(zhuǎn)換為{Q}數(shù)(實質(zhì)是僅將純{Q*}數(shù)轉(zhuǎn)換為{Q}數(shù))。這時,本發(fā)明計算機在“運算”數(shù)字的輸出界面上,只需加上特別簡單的{Q*}轉(zhuǎn)換到{Q}譯碼器即可。這一點在技術(shù)上不存在任何困難。原則上,本發(fā)明計算機相應(yīng)的計算機,其內(nèi)外存及輸入輸出端與現(xiàn)有{Q}電子計算機完全一樣(包括程序在內(nèi))。這其中的原因就在于,全部{Q}數(shù)本身均為{Q*}數(shù)所真包含。在這種意義上,現(xiàn)代{Q}電子計算機本來就是{Q*}電子計算機的特況。
本發(fā)明計算機采用“多重運算器”。例如,采用“八重運算器”。所謂“八重運算器”,即將8個數(shù)放入8個寄存器中,一次性完成加減運算。設(shè)多重數(shù)為K,則K=2t可能較合適(t為自然數(shù))。故K=2、4、8、…。其中,較實用的是K=8、16、256、1024、4096等。同時,乘法本質(zhì)上原來就是連續(xù)加法,除法本質(zhì)上原來就是連續(xù)減法。因此,本發(fā)明計算機在乘除中,亦可運用多重加減來處理。
特別是,當(dāng)采用全一碼編碼時,在{Q*}進位行計算機中,僅僅只需先“對沖”、后“劃Q”,就能獲得(Q*)數(shù)運算結(jié)果。當(dāng)最終結(jié)果需要輸出時,才將{Q*)數(shù)轉(zhuǎn)換成{Q}數(shù),或者轉(zhuǎn)換成(十)數(shù)輸出。
小結(jié)一、本發(fā)明計算機是混Q進制{Q*}的計算機,是《混進方法HJF》計算機。
二、本發(fā)明計算機相應(yīng)的混Q進制{Q*)的電子計算機使現(xiàn)代以及未來基于其他原理上的各種電子計算機,包括“超導(dǎo)計算機”、“量子計算機”等的運算速度大大提高。以八重運算器為例,粗略地估算將使運算速度提高五倍。也就是說,原20萬次/s的提高到100萬次/s左右原20億次/s的提高到100億次/s左右。當(dāng)K增大時,則運算速度還將進一步提高。
第三部分增Q進制及全一碼1.增Q進制1.1定義及符號在一個Q進制數(shù)制中,凡P>Q的進制,特別是P=Q+1>Q的進制,稱為“增強Q進制”。Q為自然數(shù)。簡稱為“增Q進制”。其中,含0整數(shù)段、不對稱增Q進制稱為“含0不對稱增Q進制”。顯然,{0,1,2)二進制,即為“含0不對稱增二進制”;(1,0,1)二進制也就是混二進制{二*),即為“含0對稱增二進制”。此外,還有其他增二進制。
1.2{0,1}一進制及其運算增Q進制中,當(dāng)Q=1時,即為增一進制。增一進制中,主要有二種。
{0,1}{二}{十}{十}{二}{0,1}一進制一進制0000 00011 1 0000 0101 1 1001 01110 2 2010 1001 1 3011 10110 2 4100 11010 2 5101 11111 3 6110 _ _ _ 7111 __ _ _ _表二 表三其一是{0,1}一進制,它可表示全部非負(fù)整數(shù)。其元器件為二態(tài)器件。其二是{1,1}一進制,它可表示全部整數(shù)。其元器件亦為二態(tài)器件。本文下面所稱“增一進制”,除特別注明外,均指{0,1}一進制。
{0,1}一進制的運算。這里列出加法運算,例如{十}4+3+2=9={0,1}一進制110101+1011+101=11001100010101011=…。
1.3{0,1}一進制與{Q}的關(guān)系。
1.3.1{0,1}一進制數(shù)與{Q}數(shù)的轉(zhuǎn)換法。
{0,1}一進制數(shù)轉(zhuǎn)換成{Q}數(shù),可以將{0,1}一進制數(shù)中的各位數(shù)字1,以{Q}計數(shù)即可。所得{Q}計數(shù)和,即為相應(yīng)的{Q}數(shù)。這就是說,{0,1}一進制數(shù)中有幾個1,則相應(yīng)的{Q}數(shù)即為幾。顯然,這是十分簡單的法則。(表二){Q}數(shù)轉(zhuǎn)換成{0,1}一進制數(shù),可將{Q}數(shù)各位均乘以各位上的權(quán),然后將這些積以同樣個數(shù)的1,分別在所要表達的{0,1}一進制數(shù)位置上,以不重復(fù)的方式列出即可。這就是說,{Q}數(shù)為幾,則{0,1}一進制數(shù)中就有幾個1。顯然,這也是十分簡單的法則。(表三)1.3.2{0,1}一進制數(shù)與{Q}數(shù)對照表及其說明①{0,1}一進制數(shù)可表示全部{Q}數(shù)②有較多的重復(fù)數(shù),以4位{0,1}一進制數(shù)為例,除0及4唯一外,其余均有重復(fù)數(shù)。其中,1有4個;2有6個;3有4個。于是,從0~4的重復(fù)數(shù)分別為1,4,6,4,1個。這與二項式展開系數(shù)CKn是一致的。位數(shù)n為自然數(shù),K為0~n。(見表四揚輝三角形。)11 1 楊1 2 1輝1 3 3 1 三1 4 6 4 1 角_ _ 形表四③表中 表示形式為“連續(xù)非負(fù)整數(shù)個 ”的全體的縮寫。即 可為0個0,可為1個0,可為00,可為000,…等形式。這種形式表示的集合,稱為“連集”。顯然,“連集”為無限集。設(shè)E為整數(shù),則 為E的“連集”,簡稱為“連E”。讀作“E點”。以“連集”形式表示的一組無窮個數(shù),稱為“連集數(shù)組”或“連集組數(shù)”。
1.3.3{0,1}一進制與{Q}關(guān)系分析。
(1)Q_1,Q為自然數(shù);1為最小的自然數(shù),也是最基本的自然數(shù)單元。Q真包含1,這使得相應(yīng)的{Q}與{0,1}一進制之間存在自然的聯(lián)系。
(2){Q}數(shù)與{0,1}一進制數(shù)的關(guān)系是“一多對應(yīng)”關(guān)系,而不是“一一對應(yīng)”關(guān)系。{0,1}一進制中P=Q+1>Q,因而在該數(shù)制中,自然數(shù)有時會出現(xiàn)多種形態(tài)表達,這正是該數(shù)制靈活性所在。也可以說,{0,1}一進制是以多樣性來換取了靈活性。{Q}中P=Q,因而在該類數(shù)中,自然數(shù)是連續(xù)唯一形態(tài)表達。它沒有這種多樣性,也缺少了這種相應(yīng)的靈活性。
(3){0,1}一進制數(shù)轉(zhuǎn)換為{Q}數(shù),只能化為相應(yīng)唯一的一個數(shù)。這是因為,{0,1}一進制數(shù)可經(jīng){Q}數(shù)加減直接獲得,而{Q}數(shù)加減運算后的結(jié)果是唯一的。反之,{Q}數(shù)也只能化為相應(yīng)唯一的一組{0,1}一進制“連集組數(shù)”。所以,這種{Q}數(shù)的“一”與{0,1}一進制“連集組數(shù)”的“一”組,二者是“一一對應(yīng)”關(guān)系。由此,可建立一種{0,1}一進制數(shù)與{Q}數(shù)的互為映射關(guān)系。對于運算系統(tǒng)來說,{Q}與{0,1}一進制數(shù)系統(tǒng)“同構(gòu)”。相應(yīng){Q}數(shù)的各種基本運算性質(zhì),亦在{0,1}一進制數(shù)系統(tǒng)中成立。
1.4{0,1}一進制的應(yīng)用{0,1}一進制由于以么元1配以0構(gòu)造數(shù),而且權(quán)為1,故其“運算”常以“傳送”來實現(xiàn)。這是{0,1}一進制數(shù)運算快速原因之一。{0,1}一進制數(shù)運算中的“進位”,也以二數(shù)當(dāng)前位的按位加和為0,而進位為Q的“劃Q”邏輯實現(xiàn)。這種“傳送”及“劃Q”的邏輯實現(xiàn),結(jié)構(gòu)簡單,速度卻快。這是{0,1}一進制數(shù)運算快速原因之二。當(dāng){0,1}一進制數(shù)與各種混數(shù)進制數(shù)結(jié)合運算時,又補充了“對沖”這一結(jié)構(gòu)更為簡單、速度更為快速的邏輯。這是{0,1}一進制數(shù)運算快速原因之三。
上述{0,1}一進制與各種混數(shù)進制相結(jié)合,使得功能更加增強??紤]到{0,1}一進制→{Q}→各種混數(shù)進制,這其中有著內(nèi)在的聯(lián)系。顯然,這一切均在預(yù)料之中。
2.全一進制及全一編碼2.1全一進制和全一數(shù){0,1}一進制數(shù)的多樣性就獲得了多樣處理的靈活性。但是,由于{0,1}一進制數(shù)“連集”形式有且僅有一種 而且具有極端的多樣,在同一個數(shù)中可出現(xiàn)一次以上的“連集”形式。由此造成同一個數(shù)的形式過于多樣,難以把握,不便于控制,勢必增加設(shè)備并且影響運算速度。因此,在一般情況下,有必要對{0,1}一進制數(shù)加以某種約束條件。這就產(chǎn)生了“全一進制”。
在{0,1}一進制的正整數(shù)中,限定每一組“連集組數(shù)”只選取自個位開始,從右向左連續(xù)排列么元1的唯一的一種形態(tài)表達;高位上均為0,或以空位表示。例如{十}數(shù)3={0,1}一進制數(shù)111/111 /11 1/…(“/”表“或者”),限定為{十}3={0,1}一進制111。這樣,每一組“連集組數(shù)”中的重復(fù)數(shù)均被刪除,只剩下一個全是1的唯一形態(tài),我們稱為“全一數(shù)”。表達“全一數(shù)”的進制稱之為“全一進制”。表三中,{0,1}一進制數(shù)最左邊的形態(tài),即為“全一進制”數(shù)。因此,“全一進制”可以是加特定約束條件的{0,1}一進制。
在《數(shù)制理論》的“位值制數(shù)制”中,定義數(shù)中的空位表示具有隱含的“空位0”;在其數(shù)元集中,“空位”是一種特殊的數(shù)元,稱為“空位元”。簡稱為“空元”。因此,“全一進制”可以從不含0普通Q進制{不含0,Q}中的{1}一進制獲得;故可以定義“全一進制”為{1}一進制,以符號{一}來表示。當(dāng)考慮到正負(fù)整數(shù)時,可以將該全一進制數(shù)的正負(fù)符號,分配到該數(shù)的各位上去,從而構(gòu)造各位均帶相同符號的全一進制數(shù)。本發(fā)明中除特別注明外,均指此種“全一進制”,亦以符號{一}來表示。
“全一進制”也可以從不含0混Q進制{不含0,Q*}中的“{1,1}一進制”,加約束條件獲得。約束條件為該進制數(shù),必須各位上符號均相同;“全一進制”還可以從不含0增一進制中的“{1,1}一進制”,加上述同樣約束條件獲得;此外,還可以從其它混數(shù)進制獲得。
2.2全一碼全一進制顯然具有如下優(yōu)缺點。優(yōu)點①運算速度快?!皞魉汀贝媪恕胺晃蝗淮a{二} 九位全一碼 {十}0 0 00…0 01 1 00…1 100…11 2表五 ___ _111111111 9表六轉(zhuǎn)”。②多重運算時,不需要二二求和,只需要先“對沖”后“劃Q”即可得結(jié)果。這就大大加快了總體運算速度。③與{Q}轉(zhuǎn)換方便;缺點①“字長”太長,位數(shù)多。(當(dāng)取可變字長時,其平均字長僅為一半。)②荷載信息量較小。因此,根據(jù)全一進制的優(yōu)缺點,揚長避短,以全一進制數(shù)來編碼各種混數(shù)進制數(shù)是合適的。以“全一進制”數(shù)來編碼,稱為“全一編碼”?!叭痪幋a”中采用的“全一數(shù)”,稱為“全一碼”。表五,顯示出全一碼一位,編碼{二}數(shù)元的情況。由表五可見,全一碼一位編碼的{二}數(shù),即為{二}數(shù)本身。表六,顯示出以全一碼九位,編碼{十}數(shù)元的情況。由表六可見,全一碼九位編碼的{十}數(shù),碼長增加至9倍。(當(dāng)取可變碼長時,其平均碼長僅為5倍。)例如{十}23=全一碼=≡。對于各種混數(shù)進制數(shù),均可以全一碼來編碼。
2.3全一碼的計算。
全一碼的計算非常簡單。n個數(shù)加法僅為n個數(shù)中1或1的不重復(fù)排列,稱為“排1”。以二數(shù)加法為例,如11+111=11111。特別是,在各種混數(shù)進制的數(shù)字工程中,僅僅只需先“對沖”后“劃Q”,就能獲得各種混數(shù)進制數(shù)的運算結(jié)果。當(dāng)最終結(jié)果需要輸出時,才將以全一碼編碼的各種混數(shù)進制數(shù),轉(zhuǎn)換成{Q}或{十}數(shù)輸出。
2.4全一碼的應(yīng)用。
全一碼主要應(yīng)用于對{Q}數(shù)及各種混數(shù)進制數(shù)進行編碼。特別是,①采用全一碼九位編碼{十}數(shù),可以實現(xiàn)普通十進制{十}、全一碼、進位行計算機和筆算工程及算盤。
②采用全一碼九位編碼{十*}數(shù),可以實現(xiàn)混十進制{十*}、全一碼、進位行計算機和筆算工程及算盤。
③采用全一碼編碼各種混數(shù)進制數(shù),可以實現(xiàn)各種混數(shù)進制、全一碼、進位行計算機和筆算工程及算盤。
④采用全一碼來編碼{十}或{十*}數(shù)或各種混數(shù)進制數(shù),再以“正負(fù)碼”來二次編碼,可以實現(xiàn)又一種算盤的新技術(shù)方案。
第四部分 混十進制{十*}、全一碼、進位行計算機(一)人類歷史中,{十}計算應(yīng)用的廣度和深度,均是其他數(shù)制所不能比擬的。人類長期歷史文化的底蘊與沉積,使得{十}具有牢不可破的至尊地位。因此,混十進制{十*}計算機具有特別重要的意義。為此,本部分將混十進制{十*}、全一碼、進位行計算機特別列出。
(二)該計算機的運算采用《混進方法HJF》。即,混十進制{十*}的《混進方法HJF》?;鞌?shù)進制運算可為前述方案之一;本發(fā)明計算機中,采用方案二來展示;當(dāng)用于計算機,特別是電子計算機運算器中時,數(shù)字工程方法可采用前述第一種或第二種或第三種步驟。這里,采用第三種步驟來展示。
(三)混十進制{十*}、全一碼、進位行計算機,是全一碼九位來編碼的{十*}計算機。這時,在運算及其控制中采用{1,0,1}三態(tài)進行。計算機中所采用的元器件為三值元器件;或者常取二值元器件。當(dāng)采用二值元器件時,其中1、1的正負(fù)號以一位{二}數(shù)表示,其權(quán)為0。即,以二位{二}數(shù)編碼{1,0,1}三態(tài)。當(dāng)采用全一碼編碼時,K重運算器202中的累加器∑i304可省略為全一碼移位寄存器。
(四)混十進制{十*}、全一碼、進位行電子計算機總邏輯框圖,如圖1所示?;焓M制{十*}、全一碼、進位行電子計算機中,{十}數(shù)以全一碼九位來編碼輸入及最終輸出轉(zhuǎn)換為{十}數(shù)。其全一碼編譯可以定碼長或變碼長;本發(fā)明計算機中,采用定碼長來展示。
當(dāng)采用{十*}運算時,運算器的輸入只要將這些普通十進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去,不需要將{十}數(shù)轉(zhuǎn)換為{十*}數(shù)。因為{十}數(shù)本來就是{十*}數(shù)。即,{十*}數(shù)={十}數(shù)+純{十*}數(shù)。當(dāng)采用全一碼編碼時,只要將這些全一碼編碼{十}數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)全一碼的每一位上去。另一方面,在運算器的輸出,一般中間過程也不必要將{十*}數(shù)轉(zhuǎn)換為{十}數(shù)。只有在需要輸出最終結(jié)果時,才將{十*}數(shù)轉(zhuǎn)換為{十}數(shù)(實質(zhì)是僅將純{十*}數(shù)轉(zhuǎn)換為{十}數(shù))。這時,本發(fā)明計算機在“運算”的輸出界面上,只需加上特別簡單的全一碼編碼的{十*}轉(zhuǎn)換到{十}的譯碼器即可。這一點在技術(shù)上不存在任何困難。原則上,本發(fā)明計算機相應(yīng)的計算機,其內(nèi)外存及輸入輸出端,與現(xiàn)有{十}電子計算機完全一樣(包括程序在內(nèi))。這其中的原因就在于,全部{十}數(shù)本身均為{十*}數(shù)所真包含。在這種意義上,現(xiàn)代{十}電子計算機本來就是{十*}電子計算機的特況。
(五)混十進制{十*}、全一碼、進位行電子計算機中,采用“多重運算器”。例如,采用“八重運算器”。所謂“八重運算器”,即將8個數(shù)放入8個寄存器中,一次性完成加減運算。設(shè)多重數(shù)為K,則K=2t可能較合適(t為正整數(shù))。故K=2、4、8、…。其中,較實用的可能是K=8、16、256、1024、4096等。同時,乘法本質(zhì)上原來就是連續(xù)加法,除法本質(zhì)上原來就是連續(xù)減法。因此,在乘除中,本發(fā)明的計算機亦可運用多重加減來處理。
(六)混十進制{十*}、全一碼、進位行電子計算機中,采用“對沖”及“劃十”邏輯?;霶進制、進位行數(shù)字工程方法,對K個混Q進制數(shù)中的n個數(shù)進行求和運算時,如果在某一位上,其中n個運算數(shù)的“按位和”為零,但產(chǎn)生進位m(與n個數(shù)該位上的和數(shù)符號一致);n為≥2的整數(shù),m為整數(shù);進位放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;然后,將n個運算數(shù)的某位均以邏輯方式置“0”,不再參加以后的運算;這稱為“劃Q”;“劃Q”中m=0時,稱為“對沖”;或者,不采用“對沖”及“劃Q”?!皩_”及“劃十”邏輯線路在技術(shù)上是簡單成熟的。見圖4和圖5。
K重運算器中采用所謂“二維運算”。即,在數(shù)的各位上同時進行運算;并且每一位上各數(shù),亦同時進行先“對沖”、后“劃Q”、再“累加”。當(dāng)下一個運算層指令到達時,將進位數(shù)與“按位和”數(shù)再進行相加;如此重復(fù),直至運算層中,運算后僅獲得一個數(shù)為止。最后,再經(jīng)累加器∑i輸出所求和數(shù);當(dāng)采用全一碼編碼時,如采用上述“二維運算”,則稱為“三維運算”。相應(yīng)的運算器,則稱為“三維運算器”。特別是,在{十*}全一碼、進位行計算機中,僅僅只需先“對沖”、后“劃十”,就能獲得運算結(jié)果。當(dāng)最終結(jié)果需要輸出時,才將全一碼編碼的{十*}數(shù)轉(zhuǎn)換成{十}數(shù)輸出。
小結(jié)一、混十進制{十*}全一碼、進位行計算機,是混十進制{十*}計算機,是《混進方法HJF》計算機。
二、本發(fā)明混十進制{十*}全一碼、進位行計算機,其相應(yīng)的電子計算機,使現(xiàn)代以及未來基于其他原理上的各種電子計算機,包括“超導(dǎo)計算機”、“量子計算機”等,運算速度大大提高。以八重運算器為例,粗略地估算將使運算速度提高五倍以上。也就是說,原20萬次/s的提高到100萬次/s左右;原20億次/s的提高到100億次/s左右。當(dāng)K增大時,則運算速度還將進一步提高。
權(quán)利要求
1.一種混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,采用Q進制數(shù),以Q進制運算;Q為自然數(shù);其特征在于,運算采用“混Q進制”數(shù),以“混數(shù)進制、進位行方法”運算。
2.如權(quán)利要求1混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,“混數(shù)進制、進位行方法”運算可為下列方案之一;方案一(適于計算機、筆算工程中)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);②混數(shù)進制運算(“對沖”、“劃Q”、“累加”);③混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);方案二(適于計算機、算盤中;也可用于筆算工程,也可不用;)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)編碼為“編碼全一進制數(shù)”;②“編碼全一進制數(shù)”運算(“對沖”、“劃Q”、“累加”);③“編碼全一進制數(shù)”譯碼為混數(shù)進制數(shù);混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);方案三(適于計算機中)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)編碼或另行轉(zhuǎn)換為{0,±1}二進制(其特況為普通二進制)數(shù);②{0,±1}二進制運算(“對沖”、“劃Q”、“累加”);③{0,±1}二進制數(shù)譯碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);方案四(適于計算機中)①普通Q進制數(shù)編碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)編碼或另行轉(zhuǎn)換為“編碼{0,±1}二進制數(shù)”(其特況為“編碼普通二進制數(shù)”);②“編碼{0,±1}二進制數(shù)”運算(“對沖”、“劃Q”、“累加”);③“編碼{0,±1}二進制數(shù)”譯碼或另行轉(zhuǎn)換為混數(shù)進制數(shù);混數(shù)進制數(shù)譯碼或另行轉(zhuǎn)換為普通Q進制數(shù);本發(fā)明中,采用方案一、方案二來展示。
3.如權(quán)利要求1-2混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,“混數(shù)進制、進位行方法”包括以下第一種步驟第1步,設(shè)K個普通Q進制數(shù)參予加減運算,K為≥2的整數(shù),Q為自然數(shù);將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;第2步,對K個數(shù)中的二個數(shù),進行混Q進制的求和運算;從最低位開始或各位同時按位相加,即在某一位上,取這二個數(shù)按位相加;采用“對沖”、“劃Q”、“累加”,得到這二個數(shù)該位“按位加”的和數(shù);將此和數(shù)記入下一運算層,作為“部份和”數(shù);同時所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;第3步,在上述某位的相鄰高位上,重復(fù)第2步的運算;如此反復(fù),直至二數(shù)最高位也已運算為止;當(dāng)采用并行運算時,二數(shù)各位同時進行第2步及第3步運算,則本步可跳越過去;當(dāng)采用串并行運算時,則類似處理;第4步,取K個數(shù)中的另二個數(shù),進行第2步及第3步運算;如此反復(fù),直至K個數(shù)或運算層中全部數(shù)均取完為止;當(dāng)僅剩下一個數(shù)時,則直接移至下一運算層作為“部份和”數(shù);第5步,在下一個運算層中,將上述“按位和”數(shù)及“進位”數(shù)進行前述第2步、第3步、第4步求和運算;如此反復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;則最后所得數(shù),即為所求K個數(shù)混Q進制加法運算和數(shù);或者,采用以下第二種步驟第1步,設(shè)K個普通Q進制數(shù)參予加減運算,K為≥2的整數(shù),Q為自然數(shù);將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;第2步,從最低位開始,即在某一位上,取二數(shù)或K個數(shù)同時相加;采用“對沖”、“劃Q”、“累加”;即在二數(shù)時,得到二個數(shù)該位“按位加”和數(shù);將此和數(shù)記入下一運算層,作為“部份和”數(shù);同時所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;第3步,在上述某位上,取K個數(shù)中的另二個數(shù),重復(fù)第2步的運算;如此反復(fù),直至K個數(shù)或運算層中全部數(shù)均取完為止;當(dāng)僅剩下一個數(shù)時,則直接移至下一運算層作為“部份和”數(shù);當(dāng)采用同一位上各數(shù)同時運算時,同時進行第2步及第3步運算,則本步可跳越過去;這時在同一位上,對n個和為0的數(shù)先進行“對沖”;然后,對n個和為mQ的數(shù)進行“劃Q”;n為≥2的整數(shù),m為整數(shù);所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;同一位上,余下各數(shù)進行“累加”,或者直接移至下一運算層;累加采用≥2的“多數(shù)累加”;當(dāng)采用普通二數(shù)“累加”時,則順序串行累加;第4步,在上述某位的相鄰高位上,重復(fù)第2步及第3步的運算;如此反復(fù),直至K個數(shù)最高位也已運算為止;第5步,在下一個運算層中,對上述“按位和”數(shù)及“進位”數(shù)進行前述第2步、第3步、第4步求和運算;如此反復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;則最后所得數(shù),即為所求K個數(shù)混Q進制加法運算和數(shù);或者,采用以下第三種步驟第1步,設(shè)K個普通Q進制數(shù)參予加減運算,K為≥2的整數(shù),Q為自然數(shù);將這些普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)這些數(shù)的每一位上去;第2步,采用所謂“二維運算”;即,在K個數(shù)的各位上,同時進行運算;并且同時對每一位上,n個和為0的數(shù)進行“對沖”;n為≥2的整數(shù);第3步,采用所謂“二維運算”;即,在K個數(shù)的各位上,同時進行運算;并且同時對每一位上,n個和為mQ的數(shù)進行“劃Q”;n為≥2的整數(shù),m為整數(shù);所得“混Q進位”,則存放到下一運算層的,任一數(shù)據(jù)行相鄰高位的空位或0位處;第4步,采用所謂“二維運算”;即,在K個數(shù)的各位上,同時進行運算;并且同時對每一位上,余下各數(shù)進行“累加”;或者直接移至下一運算層;累加采用≥2的“多數(shù)累加”;當(dāng)采用普通二數(shù)“累加”時,則順序串行累加;第5步,在下一個運算層中,將上述“按位和”數(shù)及“進位”數(shù)進行前述第2步、第3步、第4步求和運算;如此反復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;則最后所得數(shù),即為所求K個數(shù)混Q進制加法運算和數(shù)。
4.如權(quán)利要求1-3混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,“混數(shù)進制、進位行方法”對K個混Q進制數(shù)中的n個數(shù)進行求和運算時,如果在某一位上,其中n個運算數(shù)的“按位和”為零,但產(chǎn)生進位m(與n個數(shù)該位上的和數(shù)符號一致);n為≥2的整數(shù),m為整數(shù);進位放入下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處;然后,將n個運算數(shù)的某位均以邏輯方式置“0”,不再參加以后的運算;這稱為“劃Q”;“劃Q”中m=0時,稱為“對沖”;或者,不采用“對沖”及“劃Q”。
5.如權(quán)利要求1-4混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,“混數(shù)進制、進位行方法”其中所述運算數(shù)是混Q進制數(shù),Q為自然數(shù);可以不編碼;可以混數(shù)進制數(shù)編碼;也可以全一碼來編碼,即將各個混Q進制數(shù)的每一位數(shù)S,都以|S|個1從最低位順序至高位排列來對應(yīng),其余高位均為0,總位數(shù)則為Q或(Q-1)位;同時,將S的數(shù)符,即表示該位的數(shù)為正或負(fù),作為相應(yīng)全一碼中每一位上的數(shù)符;當(dāng)采用全一碼來編碼混Q進制數(shù)時,n個數(shù)加法僅為n個數(shù)中1或1的不重復(fù)排列;其全一碼編譯可以定碼長或變碼長。
6.如權(quán)利要求1-5混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,混Q進制、進位行數(shù)字工程方法的計算機包括輸入邏輯(101),K重運算器(202),輸出轉(zhuǎn)換邏輯(108)及控制器(201)組成;其中,K重運算器(202)及控制器(201)組成混Q運算控制邏輯(107);普通Q進制數(shù)輸入移位寄存器輸入邏輯(101),獲得的混Q進制數(shù)輸入至K重運算器(202);K重運算器(202)中,混Q進制數(shù)經(jīng)K重運算獲得混Q進制數(shù)結(jié)果;然后,輸出轉(zhuǎn)換邏輯(108)以混Q進制數(shù)、或普通Q進制數(shù)、或普通十進制數(shù)通過輸出邏輯(104)輸出;控制器(201)協(xié)調(diào)控制整個運算控制器的邏輯。
7.如權(quán)利要求1-6混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,混Q進制、進位行數(shù)字工程方法的計算機,采用“混Q進制、進位行方法”運算,Q為自然數(shù);混數(shù)進制運算可為前述方案之一;本發(fā)明計算機中,采用方案二來展示;進一步包含“K重運算器”(202)由累加器∑i(304)和寄存器網(wǎng)(311)、對沖網(wǎng)(312)、劃Q網(wǎng)(313)組成;i為序數(shù);或者,不采用對沖網(wǎng)(312)和劃Q網(wǎng)(313);當(dāng)用于計算機,特別是電子計算機運算器中時,數(shù)字工程方法可采用前述第一種或第二種或第三種步驟;這里,采用第三種步驟來展示;K重運算器(202)中采用“二維運算”;即,在數(shù)的各位上同時進行運算;并且每一位上各數(shù),亦同時進行先“對沖”、后“劃Q”、再“累加”;當(dāng)下一個運算層指令到達時,將進位數(shù)與“按位和”數(shù)再進行相加;如此重復(fù),直至運算層中,運算后僅獲得一個數(shù)為止;最后,再經(jīng)累加器∑i(304)輸出所求和數(shù);當(dāng)采用全一碼編碼時,上述“二維運算”則為“三維運算”;當(dāng)采用“對沖”及“劃Q”時,由控制器或程序發(fā)出的指令,在數(shù)的各位上同時進行運算;并且每一位上各數(shù),亦同時進行先“對沖”、后“劃Q”、再“累加”;累加采用≥2的“多數(shù)累加器”;當(dāng)采用普通二數(shù)“累加器”時,則順序串行累加;其中累加器∑i(304)為每一位帶有一個符號位的,與Ki寄存器(303)相應(yīng)的累加器;當(dāng)采用全一碼編碼時,K重運算器(202)中的累加器∑i(304),可以省略為全一碼移位寄存器;上述“K重運算器”當(dāng)K值較大時,可以進行分級、分組放大。
8.如權(quán)利要求1-7混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,混Q進制、進位行數(shù)字工程方法的計算機,其中寄存器網(wǎng)(311)由1寄存器1i(301)、2寄存器2i(302)、K寄存器Ki(303)等組成;各個寄存器二二相連;其中,為K個寄存器中的每個寄存器及其相應(yīng)的累加器∑i(304)的每一位,分配一個符號位;該符號位為普通二態(tài)觸發(fā)器;K個寄存器存放輸入的K個混Q數(shù);其中的對沖網(wǎng)(312)由一個對沖邏輯(305)巡檢;或由K(K-1)/2個對沖邏輯(305、306、…、307)與寄存器網(wǎng)(311)中各個寄存器二二相連組成;或由分級、分組的對沖邏輯組成;其中的劃Q網(wǎng)(313)由一個劃Q邏輯(308)巡檢;或由K(K-1)/2個劃Q邏輯(308、309、…、310)與寄存器網(wǎng)(311)中,各個寄存器二二相連組成;或由分級、分組的劃Q邏輯組成。
9.如權(quán)利要求1-8混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,混Q進制、進位行數(shù)字工程方法的計算機,其中對沖邏輯典型組合,由1寄存器的第1i位(301),2寄存器的第2i位(302),同邏輯(403),異邏輯(404)及與門(405)組成;1寄存器的第1i位(301)及2寄存器的第2i位(302),其前附有符號位,為普通二態(tài)觸發(fā)器;當(dāng)采用全一碼來編碼并采用二值元器件時,1寄存器的第1i位(301),全一編碼為1i1(401)、1i2、…;2寄存器的第2i位(302),全一編碼為2i1(402)、2i2、…;K寄存器的第Ki位(303),全一編碼為Ki1、Ki2、…;從1i1、1i2、…及2i1、2i2、…,直至Ki1、Ki2、…,全一碼編碼的全體中,任取二個形成組合;例取此中一個典型組合如下述1寄存器的第1i1位(401),其“1”端連接同邏輯(403)的輸入,1i1符的“1”端連接異邏輯(404)輸入;2寄存器的第2i1位(402),其“1”端連接同邏輯(403)的輸入,2i1符的“1”端連接異邏輯(404)的輸入;同邏輯(403)的輸出連接與門(405)輸入;異邏輯(404)的輸出連接與門(405)輸入;與門(405)的輸出,連接1寄存器的第1i1位(401)及2寄存器第2i1位(402)的置“0”端;其中的劃Q邏輯典型組合,由1寄存器的第1i位(301),2寄存器的第2i位(302),Q值判定邏輯(501),同邏輯(502)及與門(503)組成;1寄存器的第1i位(301)及2寄存器的第2i位(302),其前附有符號位,為普通二態(tài)觸發(fā)器;當(dāng)采用全一碼編碼并采用二值元器件時,1寄存器的第1i位(301),全一編碼為1i1(401)、1i2、…;2寄存器的第2i位(302),全一編碼為2i1(402)、2i2、…;K寄存器的第Ki位(303),全一編碼為Ki1、Ki2、…;從1i1、1i2、…及2i1、2i2、…,直至Ki1、Ki2、…,全一碼編碼的全體中,任取Q個形成組合;例取此中一個典型組合如下述1i1(401)的“1”端連接Q值判定邏輯(501)的輸入,1i符的“1”端連接同邏輯(502)的輸入;2i1(402)的“1”端連接Q值判定邏輯(501)的輸入;2i符的“1”端連接同邏輯(502)的輸入;如此連接共Q個;Q值判定邏輯(501)接受共Q個輸入;Q值判定邏輯(501)的輸出連接與門(503)的輸入;同邏輯(502)接受共Q個輸入;同邏輯(502)的輸出連接與門(503)輸入;與門(503)輸出進位(同符號),送至K重運算器中任一進位行寄存器的相鄰高位置“1”端,并置該高位數(shù)符與1i符相同;同時,與門(503)輸出進位,連接1寄存器的第1i1位(401)、2寄存器第2i1位(402)及組合內(nèi)共Q個置“0”端。
10.如權(quán)利要求1-9混Q進制、進位行數(shù)字工程方法的計算機技術(shù)方案,其特征在于,混Q進制、進位行數(shù)字工程方法的計算機,其中所采用的元器件為P值元器件,P是數(shù)元集的基數(shù),P為>1的整數(shù);或者常取二值元器件;或者取三值元器件。
全文摘要
本發(fā)明涉及數(shù)字工程方法和計算機領(lǐng)域,提出一種新的數(shù)字工程方法,顯著提高運算速度,而且大大降低筆算的出錯率。本發(fā)明采用“混Q進制、進位行方法”將參與加減運算的K個普通Q進制數(shù)的正負(fù)符號,分配到相應(yīng)各個數(shù)的每一位上去,然后對K個數(shù)一起進行混Q進制的求和。從最低位開始或各位同時“按位加”,和數(shù)記入下一運算層;同時所得“混Q進位”,則存放到下一運算層或本運算層尚未運算過的,任一數(shù)據(jù)行相鄰高位的空位或0位處。經(jīng)過如此反復(fù)運算,直至運算層中,運算后僅獲得一個數(shù)為止。則最后所得數(shù),即為所求混Q進制加法和數(shù)。本發(fā)明同時提供了混Q進制、進位行計算機技術(shù)方案。
文檔編號G06F15/76GK1752923SQ200510113118
公開日2006年3月29日 申請日期2005年10月14日 優(yōu)先權(quán)日2005年10月14日
發(fā)明者李志中, 徐菊園 申請人:李志中