(57)【特許請求の範囲】
【請求項１】
２進数Ｘと２進数Ｙとの加減算を、これら２つの数を三値符号化して行うよう構成されてなる三値演算回路における符号化方法であって、
前記Ｘ及び前記Ｙについて、それぞれ、２進数である前記Ｘ及び前記Ｙは、２のべき数の多項式とした場合に、２進数ＸとＹを、まず２のべき乗の多項式とし、その多項式の各項を、２ｋ＝２ｋ＋１−２ｋの関係式により変換し、２進数の時、１が連続する箇所、即ち、多項式の指数部の数字が連続する箇所に関しては、その連続する箇所をまとめて、（２ｉ＋１−２ｉ−ｊ）の関係式を用いて変換し、結果として得られた多項式について、その項目の符号が、＋であれば、その指数部に対応する桁を＋１に、−であれば、該桁を−１として、その他の桁を０とすることによって、元の２進数の値を、＋１、−１、０の３値で演算する三値演算回路を実現する装置であって、その装置構成を実現するにあたり、符号化方法により三値符号化されたＸとＹの加算方法であって、三値符号化されたＸと三値符号化されたＹとの加算において、各々のビット毎に加算を行う加減算部は、（＋１）＋（＋１）の加算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）＋（−１）の加算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）＋（−１）の加算においては、その結果を０として加算結果を得、当該加算結果において、−１と＋１の現れ方が、その下位ビット側から−１、＋１の順であるか否かを判定し、当該順でない箇所については、当該箇所が−１である場合には、この箇所がｉ桁目であって、−２ｉで表される箇所であるとすれば、これを（−２ｉ＋１＋２（ｉ−１）＋１）に置換し、ｉ＋１桁目を−１に、ｉ桁目を−１に代えて＋１に、それぞれ置換し、
また、前記順でない箇所が＋１である場合には、当該箇所がｊ桁目であって、＋２ｊで表される箇所であるとすれば、これを（２ｊ＋１＋２ｊ）に置換し、ｊ＋１桁目を＋１に、ｊ桁目を＋１に代えて−１に、それぞれ置換して三値符号化された加算結果を得ることを特徴とする三値符号化データの加算方法。
【請求項２】
請求項１記載の三値演算回路を実現する装置における符号化方法により三値符号化されたＸとＹの減算方法であって、
三値符号化されたＸと三値符号化されたＹとの減算において、
各々のビット毎に減算を行う加減算部は、（＋１）−（−１）の減算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）−（＋１）の減算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）−（＋１）の減算においては、その結果を０として減算結果を得、当該減算結果において、−１と＋１の現れ方が、その下位ビット側から−１、＋１の順であるか否かを判定し、当該順でない箇所については、当該箇所が−１である場合には、この箇所がｉ桁目であって、−２ｉで表される箇所であるとすれば、これを（−２ｉ＋１＋２（ｉ−１）＋１）に置換し、ｉ＋１桁目を−１に、ｉ桁目を−１に代えて＋１に、それぞれ置換し、
また、前記順でない箇所が＋１である場合には、当該箇所がｊ桁目であって、＋２ｊで表される箇所であるとすれば、これを（２ｊ＋１＋２ｊ）に置換し、ｊ＋１桁目を＋１に、ｊ桁目を＋１に代えて−１に、それぞれ置換して三値符号化された減算結果を得ることを特徴とする三値符号化データの減算方法。
【請求項３】
２進数Ｘと２進数Ｙとの加減算を、これら２つの数を三値符号化して行うよう構成されてなる三値演算回路を実現する装置であって、
前記２進数Ｘを三値符号化データに変換する第１の符号化部と、
前記２進数Ｙを三値符号化データに変換する第２の符号化部と、
前記第１の符号化部により得られた三値符号化データと、前記第２の符号化部により得られた三値符号化データとの加減算を行う加減算部と、
前記加減算部により得られた演算結果に対して、演算後処理を施し、三値符号化データとする演算後処理部と、
前記演算後処理部により得られた三値符号化データを２進数に変換する復号化部とを具備してなり、
前記第１の符号化部は、前記２進数Ｘを、前記第２の符号化部は、前記２進数Ｙを、それぞれ、２進数である、前記Ｘ及び前記Ｙは、２のべき数の多項式とした場合に、２進数ＸとＹを、まず２のべき乗の多項式とし、その多項式の各項を、２ｋ＝２ｋ＋１−２ｋの関係式を用いて変換し、２進数表現の時、１が連続する箇所、即ち、多項式の指数部の数字が連続する箇所に関しては、その連続する箇所をまとめて、（２ｉ＋１−２ｉ−ｊ）の関係式を用いて変換し、結果として得られた多項式について、その項目の符号が、＋であれば、その指数部に対応する桁を＋１に、−であれば、該桁を−１として、その他の桁を０とすることによって、元の２進数の値を、＋１、−１、０の３値で演算する三値演算回路を実現する装置であって、その装置構成を実現するにあたり、
前記加減算部は、前記第１の符号化部により得られた三値符号化データと前記第２の符号化部により得られた三値符号化データの加算を行う場合には、
各々のビット毎に加算を行う加減算部で構成され、（＋１）＋（＋１）の加算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）＋（−１）の加算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）＋（−１）の加算においては、その結果を０として加算結果を出力する一方、
第１の符号化部により得られた三値符号化データから前記第２の符号化部により得られた三値符号化データを減算する場合には、
各々のビット毎に減算を行う、（＋１）−（−１）の減算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）−（＋１）の減算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）−（＋１）の減算においては、その結果を０として減算結果を得て出力し、
前記演算後処理部は、前記加減算部により得られた演算結果において、
−１と＋１の現れ方が、その下位ビット側から−１、＋１の順であるか否かを判定し、当該順でない箇所については、当該箇所が−１である場合には、この箇所がｉ桁目であって、−２ｉで表される箇所であるとすれば、これを（−２ｉ＋１＋２（ｉ−１）＋１）に置換し、ｉ＋１桁目を−１に、ｉ桁目を−１に代えて＋１に、それぞれ置換し、
また、前記順でない箇所が＋１である場合には、当該箇所がｊ桁目であって、＋２ｊで表される箇所であるとすれば、これを（２ｊ＋１＋２ｊ）に置換し、ｊ＋１桁目を＋１に、ｊ桁目を＋１に代えて−１に、それぞれ置換して三値符号化データを得て出力し、
前記復号化部は、前記演算後処理部により得られた三値符号化データにおいて、＋１の存在する桁については、当該桁を指数とする正の係数を有する２のべき数とし、−１の存在する桁については、当該桁を指数とする負の係数を有する２のべき数として、これらべき数の累積和を得、当該累積和を２進数に変換し、出力してなることを特徴とする三値演算回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルデータの加減算処理に係り、特に、その処理の高速化を図った符号化方法及び演算回路に関する。
【０００２】
【従来の技術】
ディジタルデータの加算・減算を行う加減算器は、各種のディジタル信号処理回路で多用されるが、このようなディジタル加減算器としては、例えば、図１３に示されたように、いわゆる全加算器（図１３においては「ＦＡ」と表記）を、必要とされるビット数に応じて多段に接続してなるリップルキャリ形並列加算回路が公知・周知となっている。
【０００３】
【発明が解決しようとする課題】
このリップルキャリ形並列加算回路は、構成が簡素であるが、扱うビット数が増えるにしたがい、いわゆる桁上げ（キャリ）信号（図１３においては「Ｃ´」又は「Ｃ」と表記された箇所の信号）の伝搬時間が増え、そのため、演算処理が終了するまで時間がかかり、回路の高速化の要請に応えられないという欠点がある。
このようなリップルキャリ形並列加算回路の欠点を解消する回路として、例えば図１４に示されたようなキャリルックアヘッド（ＣＬＡ）形加算回路が提案されていおり、公知・周知となっている。
すなわち、かかるキャリルックアヘッド形加算回路は、キャリルックアヘッド(Carry look ahead)回路と称される桁上げ信号を処理するための回路を設けて、リップルキャリ形並列加算回路におけるような処理ビット数の増加に伴う桁上げ信号の伝搬時間の増大という不都合を回避できるようにしたものである。
しかしながら、リップルキャリ形並列加算回路に比して、回路構成が複雑となり、ゲート数が多いために、特に、集積化が図られるようなディジタル信号処理装置においては不向きであるという欠点がある。
この他、リップルキャリ形並列加算回路よりも高速化を図った加算回路としては、キャリーセーブ形加算回路や、フォーレスリー形加算回路等が公知・周知となっているが、いずれも構成が複雑でゲート数が多く、キャリルックアヘッド形加算回路と同様な欠点を有するものである。
【０００４】
本発明は、かかる実状に鑑みてなされたもので、構成が簡素で、高速演算に適する三値演算回路における符号化方法及び三値演算回路を提供するものである。
本発明の他の目的は、加算演算によって生ずるいわゆる桁上げを極力抑えて、高速演算を可能とする三値演算回路における符号化方法及び三値演算回路を提供することにある。
【０００５】
【課題を解決するための手段】
本発明の目的を達成するため、本発明に係る三値符号化データの加算方法は、
２進数Ｘと２進数Ｙとの加減算を、これら２つの数を三値符号化して行うよう構成されてなる三値演算回路における符号化方法であって、
前記Ｘ及び前記Ｙについて、それぞれ、２進数である前記Ｘ及び前記Ｙは、２のべき数の多項式とした場合に、２進数ＸとＹを、まず２のべき乗の多項式とし、その多項式の各項を、２ｋ＝２ｋ＋１−２ｋの関係式により変換し、２進数の時、１が連続する箇所、即ち、多項式の指数部の数字が連続する箇所に関しては、その連続する箇所をまとめて、（２ｉ＋１−２ｉ−ｊ）の関係式を用いて変換し、結果として得られた多項式について、その項目の符号が、＋であれば、その指数部に対応する桁を＋１に、−であれば、該桁を−１として、その他の桁を０とすることによって、元の２進数の値を、＋１、−１、０の３値で演算する三値演算回路を実現する装置であって、その装置構成を実現するにあたり、符号化方法により三値符号化されたＸとＹの加算方法であって、三値符号化されたＸと三値符号化されたＹとの加算において、各々のビット毎に加算を行う加減算部は、（＋１）＋（＋１）の加算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）＋（−１）の加算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）＋（−１）の加算においては、その結果を０として加算結果を得、当該加算結果において、−１と＋１の現れ方が、その下位ビット側から−１、＋１の順であるか否かを判定し、当該順でない箇所については、当該箇所が−１である場合には、この箇所がｉ桁目であって、−２ｉで表される箇所であるとすれば、これを（−２ｉ＋１＋２（ｉ−１）＋１）に置換し、ｉ＋１桁目を−１に、ｉ桁目を−１に代えて＋１に、それぞれ置換し、
また、前記順でない箇所が＋１である場合には、当該箇所がｊ桁目であって、＋２ｊで表される箇所であるとすれば、これを（２ｊ＋１＋２ｊ）に置換し、ｊ＋１桁目を＋１に、ｊ桁目を＋１に代えて−１に、それぞれ置換して三値符号化された加算結果を得るよう構成されてなるものである。
【０００６】
かかる構成においては、２進数を、所定の条件の下、２のべき数の和の形式に整理し直して、それを基に、三値符号化をすることで、元の２進数において１が連続する箇所であっても、その始めと終わりのビットに該当する個所に１を用いれば済むような形式に表現でき、そのため、加減算における桁上げが高々１桁で済み、高速演算を可能とするものである。
【０００７】
また、本発明に係る三値演算回路は、
２進数Ｘと２進数Ｙとの加減算を、これら２つの数を三値符号化して行うよう構成されてなる三値演算回路を実現する装置であって、
前記２進数Ｘを三値符号化データに変換する第１の符号化部と、
前記２進数Ｙを三値符号化データに変換する第２の符号化部と、
前記第１の符号化部により得られた三値符号化データと、前記第２の符号化部により得られた三値符号化データとの加減算を行う加減算部と、
前記加減算部により得られた演算結果に対して、演算後処理を施し、三値符号化データとする演算後処理部と、
前記演算後処理部により得られた三値符号化データを２進数に変換する復号化部とを具備してなり、
前記第１の符号化部は、前記２進数Ｘを、前記第２の符号化部は、前記２進数Ｙを、それぞれ、２進数である、前記Ｘ及び前記Ｙは、２のべき数の多項式とした場合に、２進数ＸとＹを、まず２のべき乗の多項式とし、その多項式の各項を、２ｋ＝２ｋ＋１−２ｋの関係式を用いて変換し、２進数表現の時、１が連続する箇所、即ち、多項式の指数部の数字が連続する箇所に関しては、その連続する箇所をまとめて、（２ｉ＋１−２ｉ−ｊ）の関係式を用いて変換し、結果として得られた多項式について、その項目の符号が、＋であれば、その指数部に対応する桁を＋１に、−であれば、該桁を−１として、その他の桁を０とすることによって、元の２進数の値を、＋１、−１、０の３値で演算する三値演算回路を実現する装置であって、その装置構成を実現するにあたり、
前記加減算部は、前記第１の符号化部により得られた三値符号化データと前記第２の符号化部により得られた三値符号化データの加算を行う場合には、
各々のビット毎に加算を行う加減算部で構成され、（＋１）＋（＋１）の加算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）＋（−１）の加算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）＋（−１）の加算においては、その結果を０として加算結果を出力する一方、
第１の符号化部により得られた三値符号化データから前記第２の符号化部により得られた三値符号化データを減算する場合には、
各々のビット毎に減算を行う、（＋１）−（−１）の減算においては、当該ビットの上位ビットに＋１の桁上げを生じせしめ、（−１）−（＋１）の減算においては、当該ビットの上位ビットに−１の桁上げを生じせしめ、（＋１）−（＋１）の減算においては、その結果を０として減算結果を得て出力し、
前記演算後処理部は、前記加減算部により得られた演算結果において、
−１と＋１の現れ方が、その下位ビット側から−１、＋１の順であるか否かを判定し、当該順でない箇所については、当該箇所が−１である場合には、この箇所がｉ桁目であって、−２ｉで表される箇所であるとすれば、これを（−２ｉ＋１＋２（ｉ−１）＋１）に置換し、ｉ＋１桁目を−１に、ｉ桁目を−１に代えて＋１に、それぞれ置換し、
また、前記順でない箇所が＋１である場合には、当該箇所がｊ桁目であって、＋２ｊで表される箇所であるとすれば、これを（２ｊ＋１＋２ｊ）に置換し、ｊ＋１桁目を＋１に、ｊ桁目を＋１に代えて−１に、それぞれ置換して三値符号化データを得て出力し、
前記復号化部は、前記演算後処理部により得られた三値符号化データにおいて、＋１の存在する桁については、当該桁を指数とする正の係数を有する２のべき数とし、−１の存在する桁については、当該桁を指数とする負の係数を有する２のべき数として、これらべき数の累積和を得、当該累積和を２進数に変換し、出力してなるよう構成されてなるものである。
【０００８】
かかる構成は、先の三値演算回路における符号化方法、三値符号化データの加算方法及び三値符号化データの減算方法を実現するに適したものであり、例えば、それぞれ専用のＩＣ回路としてもよく、また、いわゆるマイクロコンピュータとソフトウェアとによっても実現し得るものである。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態について、図１乃至図１２を参照しつつ説明する。
なお、以下に説明する部材、配置等は本発明を限定するものではなく、本発明の趣旨の範囲内で種々改変することができるものである。
最初に、本発明の実施の形態における三値演算回路の構成例について、図１を参照しつつ説明する。
この発明の実施の形態における三値演算回路は、第１の符号化手段としての第１の符号化部（図１においては「符号化部（１）」と表記）１と、第２の符号化手段としての第２の符号化部（図１においては「符号化部（２）」と表記）２と、加減算手段としての加減算部３と、演算後処理手段としての演算後処理部４と、復号化手段としての復号化部５とを具備して構成されたものとなっている。
第１及び第２の符号化部１，２は、基本的に同一の構成を有してなるもので、２進数の入力データＸ，Ｙを、所定の手順に基づいて、三値のデータ（以下「三値符号化データ」と言う）に変換するよう構成されてなるものである（詳細は後述）。
【００１０】
加減算部３は、第１及び第２の符号化部１，２から出力され三値符号化データの加減算を行うものである。
演算後処理部４は、加減算部３における三値データの加減算結果に対して、後の復号化に適するようにするため、所定の処理を施すよう構成されてなるものである（詳細は後述）。
復号化部５は、演算後処理部４を介して得られたデータを、所定の手順の下、２進数のデータへ戻し（詳細は後述）、２進数の入力データＸ，Ｙの加減算結果を得るように構成されてなるものである。
なお、上述した構成は、それぞれいわゆるハードウェアにより実現してもよく、また、いわゆるマイクロコンピュータ又は同等の機能を有するものとソフトウェアとによっても実現し得るものである。
【００１１】
しかして、かかる構成の装置における動作について、以下説明する。なお、この回路動作の説明を以て、本発明の実施の形態の三値演算回路における符号化方法、三値符号化データの加算方法及び三値符号化データの減算方法の説明に代えることとする。
まず、第１及び第２の符号化部１，２に入力されるデータＸ，Ｙは、それぞれ２進数のデータであり、ここで仮に、いずれもｎビットであるとする。
第１及び第２の符号化部１，２の動作は、基本的に同一であるので、以下、第１の符号化部１におけるＸの符号化動作について説明することとする。
例えば、Ｘが、Ｘ＝２n＋２ｎ−１＋・・・＋２ｈ＋・・・＋２ｉ＋・・・＋２＋１（式１とする）の如くに、いわゆる２のべき数の多項式で表されるものであるとする。一方、２進数の特性として、２Ｋ＝２Ｋ＋１−２Ｋ（式２とする）と表現できるということが一般によく知られている。
【００１２】
そこで、先のＸについての式１における個々の項を式２を用いて変形すると、Ｘ＝（２ｎ＋１−２ｎ）＋（２ｎ−２ｎ−１）＋・・・＋（２ｈ＋１−２ｈ）＋（２ｉ＋１−２ｉ）＋（２ｉ−２ｉ−１）＋・・・＋（２ｉ−ｊ＋１−２ｉ−ｊ）＋・・・＋（２２−２）＋（２−１）と表すことができる（式３とする）。
さらに、このように表された式において、桁が連続する部分に対応する項、換言すれば、２進数の“１”が連続する部分に対応する項ついては、次のように整理することができる。
すなわち、例えば、ｉ桁目からｉ−ｊ桁目まで２進数の“１”が連続している場合には、その部分については、（２ｉ＋１−２ｉ−ｊ）と整理される。
【００１３】
一方、２進数の“１”が連続してない部分に対応する項、すなわち、前後の桁が“０”であり、その間の桁であって、２進数値が“１”となる項については、例えば、その項が２ｈの項であるとすれば、先の式２で表されたように２ｈ＝２ｈ＋１−２ｈとして残ることとなる。
したがって、先の式３で表されたＸは、Ｘ＝（２ｎ＋１−２ｎ−ｍ）＋・・・＋（２ｈ＋１−２ｈ）＋・・・＋（２ｉ＋１−２ｉ−ｊ）＋・・・の如くに（式４とする）、係数が正（＋１）の項と係数が負（−１）の項との差の形に表現できる。
さらに、この式４の如くに表されたＸを、（＋１，０−１）の三値を用いたビット列の形に符号化する。すなわち、式４において、最初の括弧（２ｎ＋１−２ｎ−ｍ）を例に採れば、正の係数を有する「２ｎ＋１」については、「＋１」に、負の係数を有する「−２ｎ−ｍ」については、「−１」に、また、（ｎ＋１）桁と（ｎ−ｍ）桁の間については、「０」に、それぞれ置換する。他の括弧内についても、同様にして三値符号化を行う。
【００１４】
より具体的な例を用いて説明すれば、例えば、Ｘ＝０１１１００１１０１０である場合、まず、このＸは、Ｘ＝（２９＋１−２９）＋（２８＋１−２８）＋（２７＋１−２７）＋（２４＋１−２４）＋（２３＋１−２３）＋（２１＋１−２１）と表される。次いで、これを、先の式４に対応する形に整理すると、Ｘ＝（２１０−２７）＋（２５−２３）＋（２２−２）となる。
そして、これを三値符号化すると、「＋１００−１０＋１０−１＋１−１０」となる。
第２の符号化部２におけるＹの符号化についても、上述したＸについての符号化と基本的に異なるところはなく同一である。
【００１５】
加減算部３は、加算処理を行うか、減算処理を行うかを任意に選択できるようになっており、第１及び第２の符号化部１，２により得られたＸ，Ｙについての三値符号化データの加減算が可能となっている。
ここでは、具体的な例を挙げて説明することとする。
まず、図３に示された例を参照することとする。
図３は、Ｘ＝１１１１１１１００００００００、Ｙ＝１１１１１１１１００００の加算についての説明図で、同図（ａ）に従来の２進数加算の場合が、同図（ｂ）には本発明による三値符号化データの加算の場合が、それぞれ示されている。
まず、２進数Ｘ＝１１１１１１１００００００００は、「＋１００００００−１００００００００」と、２進数Ｙ＝１１１１１１１１００００は、「＋１０００００００−１００００」と、それぞれ三値符号化データとされる。
そして、この二つの三値符号化データの加算は、次のようにして行われる。すなわち、三値符号化データの加算は、（＋１）＋（＋１）の加算の場合、それらの上位１ビットに「＋１」の桁上げを行い、（−１）＋（−１）の加算の場合、それらの上位１ビットに「−１」の桁上げを行い、（＋１）＋（−１）の加算の場合、その加算結果を零とする。
【００１６】
また、三値符号化データの減算は、（＋１）−（−１）の減算の場合、それらの上位１ビットに「＋１」の桁上げを行い、（−１）−（＋１）の減算の場合、それらの上位１ビットに「−１」の桁上げを行い、（＋１）−（＋１）の減算の場合は零とする。
【００１７】
したがって、先の三値符号化データ「＋１００００００−１００００００００」と「＋１０００００００−１００００」との加算は、上述した規則に基づいて、「＋１００＋１０００−１０００−１００００」となる（図３（ｂ）参照）。
【００１８】
そして、この加減算部３における三値符号化データの加算結果は、演算後処理部４へ入力され、次述するような後処理がなされることとなる。
この演算後処理部４においては、加算結果（又は減算）を三値符号化するための後処理が行われる。換言すれば、加減算部３で得られる三値符号化データの加算結果（又は減算結果）は、三値符号化データの形式とはなっていないため、三値符号化データの特性を考慮して三値符号化データとするための処理が行われるようになっている。
すなわち、三値符号化データは、その下位ビットから「−１」と「＋１」とが交互に順番に現れるという規則性を有している。
そこで、この演算後処理部４に入力された加算結果（減算結果）について、その下位ビットから「−１」と「＋１」の出現の仕方を判定してゆき、規則に沿っていない箇所については、後述するようにして「−１」又は「＋１」を挿入して、三値符号化データとする。
【００１９】
図２には、この演算後処理の手順がフローチャートとして示されており、以下、同図を参照しつつ、先の加算結果「＋１００＋１０００−１０００−１００００」を例に採り、本発明の装置で実現される演算後処理について具体的に説明することとする。
該装置は、符号化部、加減算部、演算後処理部、復号化部で構成され、以下のようなソフトウェア等の制御シーケンスで制御されることで、装置全体を動作させる。まず、処理の開始に当たり、まず、変数ｎ，ｉが零にリセットされる（図２のステップ１００参照）。
次いで、演算後処理の対象となる三値符号化データ（以下「被処理データ」と言う）について、まず、最下位ビットｂ０の値が読み込まれ、Ｓ＝ｂ０とされる（図２のステップ１０２参照）。
すなわち、上述の三値符号化データの場合、Ｓ＝ｂ０＝０となる。
次いで、このＳの値が、−１と＋１との間（−１及び＋１を含む）にあるか否かが判定されることとなり（図２のステップ１０４参照）、−１≦Ｓ≦＋１である場合（ＹＥＳの場合）には、ステップ１０６へ、−１≦Ｓ≦＋１でない場合（ＮＯの場合）には、ステップ１１０へ、それぞれ進むこととなる。
【００２０】
具体例の場合、ｂ０＝０であるため、−１≦Ｓ≦＋１が成立し、ステップ１０６へ進み、変数ｉがその最大値ｉmaxに等しいか否かが判定されることとなる。そして、ｉ＝ｉmaxであれば（ＹＥＳの場合）、一連の処理の終了となる一方、未だｉ＝ｉmaxでなない場合（ＮＯの場合）には、ステップ１０８へ進むこととなる。
具体例の場合、被処理データは、１６ビットからなるものであるが、この演算後処理においては、最下位ビットを０ビット目と、次ぎのビットを１ビット目と計数するようにしているので、ｉmax＝１５となり、最初は、ｉ＝０であるから、ステップ１０８へ進み、ｉ＝ｉ＋１＝１とされ、先のステップ１０２へ戻ることとなる。
【００２１】
次いで、下位ビットの次のビットｂ１の値が読み込まれ、先の下位ビットの値との累積和としてＳが求められる。すなわち、具体例の場合、ｂ０＝０，ｂ１＝０であるため、Ｓ＝０となる。したがって、以下、先にｂ０＝０の場合について説明したと同様の処理が行われ、ステップ１０８でｉ＝２とされ、再びステップ１０２へ戻ることとなる。以下、具体例の場合、ビットｂ３まで同一の処理が繰り返され、最後にステップ１０８でｉ＝４とされ、ステップ１０２へ戻ることとなる。
【００２２】
次に、具体例のビットｂ４の値は、「−１」であるので、Ｓ＝−１となるが、−１≦Ｓ≦＋１が成立するので、それまでと同様にステップ１０８を経由してｉ＝５とされて再びステップ１０２へ戻ることとなる。
具体例のビットｂ５乃至ｂ７までは、いずれのビットも零であるため、先に述べたビットｂ０乃至ｂ３の場合と同様、ステップ１０２乃至１０８が循環的に繰り返されることとなる。
このように、被処理データのビットに、先に述べた三値符号化データとしての規則性の違背がない場合、演算後処理後のビットデータは、被処理データのビットデータと同一となる（図３（ｂ）参照）。
【００２３】
そして、ｂ７における処理では、ステップ１０８においてｉ＝８とされ、ステップ１０２へ戻り、ビットｂ８の値が読み込まれる結果、Ｓ＝−２と算出される（図２のステップ１０２参照）。
すなわち、換言すれば、このビットｂ８の値「−１」は、先に述べた「−１」と「＋１」との交互の出現の規則に違背したものである。
【００２４】
その結果、ステップ１０４においては、−１≦Ｓ≦＋１ではないと判定され、ステップ１１０へ進み、Ｓが−１より小さいか否か、すなわちＳ＜−１か否かが判定されることとなる（図２のステップ１１０参照）。
この具体例の場合、Ｓ＝−２であるから、Ｓ＜−１であると判定されて、ステップ１１２へ進むこととなる。一方、Ｓ＜−１でない場合（ＮＯの場合）は、ステップ１１４へ進むこととなる。
まず、ステップ１１２においては、具体例の場合、演算後処理後のビットｂ８が「＋１」に、ビットｂ８＋１＝ｂ９が「−１」と置換されてステップ１０２へ戻ることとなる。
このビットデータの置換は、２進数の特性である２Ｋ＝２Ｋ＋１−２Ｋと表現できることに着目したもので、具体例の場合、ビットｂ８＝−１は、−２８を意味することから−２８＝−２９＋２８と表現し直し、これを改めて三値符号化することにより、−１＋１となる。
【００２５】
ここで、ステップ１１２からステップ１０２へ戻った際、具体例では、ｉ＝８のままであるため、被処理データのビットｂ０からｂ８のデータの累積加算が再度行われるが、この場合、ビットｂ８のデータは、上述のように置換された「＋１」（図２のステップ１１２参照）が当てられ、累積和Ｓが算出されることとなる。したがって、具体例の場合、Ｓ＝０と算出されることとなる。その結果、先に述べたようにステップ１０４，１０６，１０８と処理され、ｉ＝９とされてステップ１０２に戻ることとなる。
【００２６】
そして、被処理データのビットｂ９の値「０」が読み込まれ、ビットｂ０からｂ９までのデータの累積加算が行われ、Ｓ＝０と算出されることとなる。以後、被処理データのビットｂ１４までステップ１０２乃至１０８が循環的に繰り返されることとなる。この間、ビットｂ１２が「＋１」であるため、ビットｂ０乃至ｂ１４までのＳは、Ｓ＝１となる。
その結果、被処理データのビットｂ１０乃至ｂ１４のデータは、そのまま、演算後処理後のビットｂ１０乃至ｂ１５のデータとされることとなる（図３（ｂ）参照）。
そして、ｉ＝１５となったところで、被処理データのビットｂ１５が「＋１」であるため、Ｓ＝＋２と算出されることとなる。
【００２７】
Ｓ＝＋２と算出された後、ステップ１０４の判定が行われる結果、−１≦Ｓ≦＋１ではないと判定され、次いで、Ｓ＜−１か否かが判定されることとなる（図２のステップ１１０参照）。Ｓ＝＋２であるため、Ｓ＜−１ではないと判定され、ステップ１１４へ進み、ここで、演算後処理後のビットｂ15の値が「−１」に置換され、さらに、ビットｂ１６が追加されて、その値は「＋１」とされる。
そして、再びステップ１０２へ戻ることとなる。この時点で、未だｉ＝１５であるため、ビットｂ０乃至ｂ１５までのデータの累積加算値Ｓが、ビットｂ１５について上述のように置換されたデータを用いて、再度算出されることとなり（図２のステップ１０２参照）、Ｓ＝０を得る。
【００２８】
そして、ステップ１０４の判定が行われ、その結果、−１≦Ｓ≦＋１が成立すると判定され、ステップ１０６へ進み、ｉ＝ｉmaxであるか否かの判定が行われ、ｉ＝１５は、先に述べたように被処理データの最上位ビットであるので、ｉ＝ｉmaxであるとして一連の処理が終了することとなる。
このような演算後処理の結果、被処理データ「＋１００＋１０００−１０００−１００００」は、「＋１−１００＋１００−１＋１０００−１００００」と変換されることとなる（図３（ｂ）参照）。
【００２９】
このようにして演算後処理部４における演算後処理により得られた三値符号化データは、復号化部５へ入力され、元の２進数を得るための復号化が施されることとなる。
すなわち、まず、演算後処理部４から入力された先の三値符号化データ「＋１−１００＋１００−１＋１０００−１００００」は、先の式４に対応した形に変換され、その結果、それを仮にＺ´とすると、Ｚ´＝（２１６−２１５）＋（２１２−２９）＋（２８−２４）となる。次いで、２進数に変換され、Ｚ＝１０００１１１０１１１１００００を得る。
なお、Ｚ´を基に、２進数Ｚを得る手順は、公知・周知のものであり、しかも、その手順は様々可能なので、ここでは、特定の手順に限定することはしないが、概略的に説明すれば、次述するような手順が可能である。
【００３０】
まず、Ｚ´を一旦１０進数に変換し、その値を改めて２進数に変換する方法がある。
また、Ｚ´を正の係数を有する２のべき数の累積和の形式として、それを基に２進数を得る方法もある。例えば、先のＺ´＝（２１６−２１５）＋（２１２−２９）＋（２８−２４）を例に採り説明すれば、これに２ｋ＝２ｋ＋１−２ｋを適用して整理してゆく。すなわち、Ｚ´＝（２１６−２１５）＋（２１２−２９）＋（２８−２４）＝２１５＋２１２−２１０＋２９＋２８−２５＋２４＝２１５＋２１２−２１１＋２１０＋２９＋２８−２６＋２５＋２４＝２１５＋２１２−２１２＋２１１＋２１０＋２９＋２８−２７＋２６＋２５＋２４＝２１５＋２１１＋２１０＋２９＋２８−２８＋２７＋２６＋２５＋２４＝２１５＋２１１＋２１０＋２９＋２７＋２６＋２５＋２４を得る。
この実施の形態において、２進数は、その下位ビットは、零桁目であり、次の上位ビットが１桁目としてあること及び、Ｚ´＝２１５＋２１１＋２１０＋２９＋２７＋２６＋２５＋２４において、各々の２のべき数の指数部が桁数を示すものであることから、２進数Ｚ＝１０００１１１０１１１１００００を得ることができる。
【００３１】
この復号結果は、図３（ａ）において示された従来の２進数での加算結果と一致したものとなっており、この三値演算回路によって、２進数を直接加算したと同一の演算結果が得られることが確認できる。
【００３２】
次に、図４乃至図１２に示された三値符号化を用いた加減算の他の例について説明する。
最初に、図４に示された加算例について説明すれば、この加算例は、２進数「１１１１１１１１１１１１００」と「１１１１１１０００００」との加算である。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００００００００−１００」と、Ｙは、第２の符号化部２により、「＋１０００００−１０００００」と、それぞれ三値符号化される。
そして、加減算部３において、加算されることにより、「＋１００＋１０００００−１００−１００」を得る（図４（ｂ）参照）。
【００３３】
次いで、この加算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた加算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、２番目に現れる「−１」（被処理データのビットｂ５）が規則に違背しているため、演算後処理後のビットｂ５が「＋１」に、同じくビットｂ６が「−１」に、それぞれ置換されることとなる（図４（ｂ）参照）。
また、被処理データの最上位ビットｂ１４の値「＋１」が、上述したような規則に違反しているため、演算後処理後のビットｂ１４の値が「−１」に置換され、さらに、ビットｂ１５として「＋１」が追加されて、演算後処理の結果として、「＋１−１００＋１００００−１＋１００−１００」が得られることとなる（図４（ｂ）参照）。
【００３４】
この演算後処理の結果は、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１−１００＋１００００−１＋１００−１００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１５−２１４）＋（２１１−２６）＋（２５−２２）を得る。次いで、２進数に変換されることで、Ｚ＝１０００１１１１１０１１１００を得る。この復号結果は、図４（ａ）に示された従来の２進数での加算結果と一致したものであり、三値符号化による加算結果が正しいものであることが確認できる。
【００３５】
次に、図５に示された加算例について説明すれば、この加算例は、２進数「１１１１１１０００００００」と「１１１１１００」との加算である。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００−１０００００００」と、Ｙは、第２の符号化部２により、「＋１００００−１００」と、それぞれ三値符号化される。
そして、加減算部３において、加算されることにより、「＋１００００００００００−１００」を得る（図５（ｂ）参照）。
【００３６】
次いで、この加算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた加算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、規則違背はないので、そのままのデータが、演算後処理部４から出力されて、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１００００００００００−１００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１３−２２）を得る。次いで、２進数に変換されることで、Ｚ＝１１１１１１１１１１１００を得る。この復号結果は、図５（ａ）に示された従来の２進数での加算結果と一致したものであり、三値符号化による加算結果が正しいものであることが確認できる。
【００３７】
次に、図６に示された加算例について説明すれば、この加算例は、２進数「１１１１１１００００００００」と「１１１１１１１１１１００００」との加算である。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００−１００００００００」と、Ｙは、第２の符号化部２により、「＋１０００００００００−１００００」と、それぞれ三値符号化される。
そして、加減算部３において、加算されることにより、「＋１００００００−１０００−１００００」を得る（図６（ｂ）参照）。
【００３８】
次いで、この加算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた加算結果は、下位ビット側から２番目に現れる「−１」（被処理データのビットｂ８）が規則に違背しているため、演算後処理後のビットｂ８が「＋１」に、同じくビットｂ９が「−１」に、それぞれ置換されることとなる（図６（ｂ）参照）。
そして、被処理データの残りのビットについては、規則違背がないため、演算後処理後の結果として、「＋１０００００−１＋１０００−１００００」が得られることとなる（図６（ｂ）参照）。
【００３９】
この演算後処理の結果は、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１０００００−１＋１０００−１００００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１５−２９）＋（２８−２４）を得る。次いで、２進数に変換されることで、Ｚ＝１１１１１１０１１１１００００を得る。この復号結果は、図６（ａ）に示された従来の２進数での加算結果と一致したものであり、三値符号化による加算結果が正しいものであることが確認できる。
【００４０】
次に、図７に示された加算例について説明すれば、この加算例は、２進数「１１１１１１１１１１１１００」と「１１１１１１００」との加算である。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００００００００−１００」と、Ｙは、第２の符号化部２により、「＋１０００００−１００」と、それぞれ三値符号化される。
そして、加減算部３において、加算されることにより、「＋１０００００＋１００００−１０００」を得る（図７（ｂ）参照）。
【００４１】
次いで、この加算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた加算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、最上位ビットｂ１４の「＋１」のみが規則に違背しているため、演算後処理後のビットｂ１４が「−１」に置換され、さらに、ビットｂ１５に「＋１」が追加されることとなる。その結果、演算後処理の結果として、「＋１−１０００００＋１００００−１０００」が得られることとなる（図７（ｂ）参照）。
【００４２】
この演算後処理の結果は、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１−１０００００＋１００００−１０００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１５−２１４）＋（２８−２３）を得る。次いで、２進数に変換されることで、Ｚ＝１００００００１１１１１０００を得る。この復号結果は、図７（ａ）に示された従来の２進数での加算結果と一致したものであり、三値符号化による加算結果が正しいものであることが確認できる。
【００４３】
次に、図８に示された減算例について説明すれば、この減算例は、２進数「１１１１１１１００００００００」から２進数「１１１１１１１１００００」を減算するものである。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１００００００−１００００００００」と、Ｙは、第２の符号化部２により、「＋１０００００００−１００００」と、それぞれ三値符号化される。
そして、加減算部３において、減算されることにより、「＋１００−１０００−１０００＋１００００」を得る（図８（ｂ）参照）。
【００４４】
次いで、この減算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた減算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、最初の「＋１」（被処理データのビットｂ４）が規則に違背しているため、演算後処理後のビットｂ４が「−１」に、同じくビットｂ５が「＋１」に、それぞれ置換されることとなる。
さらに、被処理データの３番目に現れる「−１」（被処理データのビットｂ１２）が規則に違背しているため、演算後処理後のビットｂ１２が「＋１」に、同じくビットｂ１３が「−１」に、それぞれ置換される。そして、被処理データの残りのビットには、規則違背がないので、結局、演算後処理の結果として、「＋１０−１＋１０００−１００＋１−１００００」が得られることとなる（図８（ｂ）参照）。
【００４５】
この演算後処理の結果は、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１０−１＋１０００−１００＋１−１００００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１５−２１３）＋（２１２−２８）＋（２５−２４）を得る。次いで、２進数に変換されることで、Ｚ＝１１０１１１１０００１００００を得る。この復号結果は、図８（ａ）に示された従来の２進数での減算結果と一致したものであり、三値符号化による減算結果が正しいものであることが確認できる。
【００４６】
次に、図９に示された減算例について説明すれば、この減算例は、２進数「１１１１１１１１１１１１００」から２進数「１１１１１１０００００」を減算するものである。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００００００００−１００」と、Ｙは、第２の符号化部２により、「＋１０００００−１０００００」と、それぞれ三値符号化される。
そして、加減算部３において、減算されることにより、「＋１００−１０００００＋１００−１００」を得る（図９（ｂ）参照）。
【００４７】
次いで、この減算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた減算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、その出現の仕方は、規則に沿ったものとなっている（図９（ｂ）参照）。したがって、演算後処理部４から出力されるデータは、被処理データと同一となる。
この演算後処理部４の出力データは、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１００−１０００００＋１００−１００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１４−２１１）＋（２５−２２）を得る。次いで、２進数に変換されることで、Ｚ＝１１１００００００１１１００を得る。この復号結果は、図９（ａ）に示された従来の２進数での減算結果と一致したものであり、三値符号化による減算結果が正しいものであることが確認できる。
【００４８】
次に、図１０に示された減算例について説明すれば、この減算例は、２進数「１１１１１１０００００００」から２進数「１１１１１００」を減算するものである。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００−１０００００００」と、Ｙは、第２の符号化部２により、「＋１００００−１００」と、それぞれ三値符号化される。
そして、加減算部３において、減算されることにより、「＋１００００−１０００００＋１００」を得る（図１０（ｂ）参照）。
【００４９】
次いで、この減算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた減算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、まず、最初に現れる「＋１」（被処理データのビットｂ２）が規則に違背しており、演算後処理後のビットｂ２が「−１」に、同じくビットｂ３が「＋１」に、それぞれ置換されることとなる。そして、被処理データの残りのビットには、規則違背がないので、結局、演算後処理の結果として、「＋１００００−１００００＋１−１００」が得られることとなる（図１０（ｂ）参照）。
【００５０】
この演算後処理の結果は、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１００００−１００００＋１−１００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１３−２８）＋（２３−２２）を得る。次いで、２進数に変換されることで、Ｚ＝１１１１１０００００１００を得る。この復号結果は、図１０（ａ）に示された従来の２進数での減算結果と一致したものであり、三値符号化による減算結果が正しいものであることが確認できる。
【００５１】
次に、図１１に示された減算例について説明すれば、この減算例は、２進数「１１１１１１１１１１００００」から２進数「１１１１１１００００００００」を減算するものである。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００００００−１００００」と、Ｙは、第２の符号化部２により、「＋１０００００−１００００００００」と、それぞれ三値符号化される。
そして、加減算部３において、減算されることにより、「＋１０００−１００００」を得る（図１１（ｂ）参照）。
【００５２】
次いで、この減算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた減算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、その出現の仕方は、規則に沿ったものとなっている（図１１（ｂ）参照）。したがって、演算後処理部４から出力されるデータは、被処理データと同一となる。
この演算後処理部４の出力データは、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１０００−１００００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２８−２４）を得る。次いで、２進数に変換されることで、Ｚ＝１１１１００００を得る。この復号結果は、図１１（ａ）に示された従来の２進数での減算結果と一致したものであり、三値符号化による減算結果が正しいものであることが確認できる。
【００５３】
最後に、図１２に示された減算例について説明すれば、この減算例は、２進数「１１１１１１１１１１１１００」から２進数「１１１１１１００」を減算するものである。ここで、仮に前者をＸ、後者をＹとすれば、Ｘは、第１の符号化部１により、「＋１０００００００００００−１００」と、Ｙは、第２の符号化部２により、「＋１０００００−１００」と、それぞれ三値符号化される。
そして、加減算部３において、減算されることにより、「＋１０００００−１００００００００」を得る（図１２（ｂ）参照）。
【００５４】
次いで、この減算結果に対して演算後処理部４における演算後処理が施される。
加減算部３で得られた減算結果は、その下位ビットからの「−１」、「＋１」の出現の仕方を見ると、その出現の仕方は、規則に沿ったものとなっている（図１２（ｂ）参照）。したがって、演算後処理部４から出力されるデータは、被処理データと同一となる。
この演算後処理部４の出力データは、復号化部５において、復号処理を受けることとなる。
すなわち、「＋１０００００−１００００００」は、まず、先の式４に対応した形式に変換され、これを仮にＺ´とすると、Ｚ´＝（２１４−２８）を得る。次いで、２進数に変換されることで、Ｚ＝１１１１１１００００００００を得る。この復号結果は、図１２（ａ）に示された従来の２進数での減算結果と一致したものであり、三値符号化による減算結果が正しいものであることが確認できる。
【００５５】
【発明の効果】
以上、述べたように、本発明によれば、２進数を三値符号化して加減算するようにしたので、桁上げが生じてもたかだか１桁で済み、そのため、加減算回路においては、従来と異なり、多段に渡る桁上げ信号（キャリー信号）が生ぜず、より高速演算が可能となる。
また、本発明を種々のディジタル演算回路に適用すれば、演算回路を構成するゲートの動作率を低減できるので、特に、消費電力が構成ゲートの動作率に比例するＣＭＯＳ回路においては、消費電力の低減に極めて効果を奏するものである。
さらに、本発明に係る三値符号化データによる加減算の手法は、ディジタル演算回路における乗算器や除算器などに適用して、これらの回路を構成することができ、回路内部の個々の箇所で、演算処理の前後において、三値符号化や復号化を繰り返す必要がないで、２進数とのインターフェースに必要ないわゆるオーバーヘッドを低減することができ、より簡易な構成の演算回路を実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態における三値演算回路の構成例を示す構成図である。
【図２】図１に示された三値演算回路の演算後処理部における演算後処理の手順を示すフローチャートである。
【図３】Ｘ，Ｙの加算の第１の例を、従来例と共に説明するための説明図であり、図３（ａ）は、従来の２進数同士の加算を、図３（ｂ）は、本発明における三値符号化による加算を、それぞれ説明する説明図である。
【図４】Ｘ，Ｙの加算の第２の例を、従来例と共に説明するための説明図であり、図４（ａ）は、従来の２進数同士の加算を、図４（ｂ）は、本発明における三値符号化による加算を、それぞれ説明する説明図である。
【図５】Ｘ，Ｙの加算の第３の例を、従来例と共に説明するための説明図であり、図５（ａ）は、従来の２進数同士の加算を、図５（ｂ）は、本発明における三値符号化による加算を、それぞれ説明する説明図である。
【図６】Ｘ，Ｙの加算の第４の例を、従来例と共に説明するための説明図であり、図６（ａ）は、従来の２進数同士の加算を、図６（ｂ）は、本発明における三値符号化による加算を、それぞれ説明する説明図である。
【図７】Ｘ，Ｙの加算の第５の例を、従来例と共に説明するための説明図であり、図７（ａ）は、従来の２進数同士の加算を、図７（ｂ）は、本発明における三値符号化による加算を、それぞれ説明する説明図である。
【図８】Ｘ，Ｙの減算の第１の例を、従来例と共に説明するための説明図であり、図８（ａ）は、従来の２進数同士の減算を、図８（ｂ）は、本発明における三値符号化による減算を、それぞれ説明する説明図である。
【図９】Ｘ，Ｙの減算の第２の例を、従来例と共に説明するための説明図であり、図９（ａ）は、従来の２進数同士の減算を、図９（ｂ）は、本発明における三値符号化による減算を、それぞれ説明する説明図である。
【図１０】Ｘ，Ｙの減算の第３の例を、従来例と共に説明するための説明図であり、図１０（ａ）は、従来の２進数同士の減算を、図１０（ｂ）は、本発明における三値符号化による減算を、それぞれ説明する説明図である。
【図１１】Ｘ，Ｙの減算の第４の例を、従来例と共に説明するための説明図であり、図１１（ａ）は、従来の２進数同士の減算を、図１１（ｂ）は、本発明における三値符号化による減算を、それぞれ説明する説明図である。
【図１２】Ｘ，Ｙの減算の第５の例を、従来例と共に説明するための説明図であり、図１２（ａ）は、従来の２進数同士の減算を、図１２（ｂ）は、本発明における三値符号化による減算を、それぞれ説明する説明図である。
【図１３】従来の加算回路の一回路構成例を示す構成図である。
【図１４】従来の加算回路の他の回路構成例を示す構成図である。
【符号の説明】
１…第１の符号化部
２…第２の符号化部
３…加減算部
４…演算後処理部
５…復号化部
【図１】
0004204153.tif 000002
【図２】
0004204153.tif 000003
【図３】
0004204153.tif 000004
【図４】
0004204153.tif 000005
【図５】
0004204153.tif 000006
【図６】
0004204153.tif 000007
【図７】
0004204153.tif 000008
【図８】
0004204153.tif 000009
【図９】
0004204153.tif 000010
【図１０】
0004204153.tif 000011
【図１１】
0004204153.tif 000012
【図１２】
0004204153.tif 000013
【図１３】
0004204153.tif 000014
【図１４】
0004204153.tif 000015