JP2002305450A - 10進数を2進数にエンコード/デコードする方法 - Google Patents

10進数を2進数にエンコード/デコードする方法

Info

Publication number
JP2002305450A
JP2002305450A JP2002017981A JP2002017981A JP2002305450A JP 2002305450 A JP2002305450 A JP 2002305450A JP 2002017981 A JP2002017981 A JP 2002017981A JP 2002017981 A JP2002017981 A JP 2002017981A JP 2002305450 A JP2002305450 A JP 2002305450A
Authority
JP
Japan
Prior art keywords
decimal
binary bits
bits
digits
binary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002017981A
Other languages
English (en)
Other versions
JP3588349B2 (ja
Inventor
Michael Frederic Cowlishaw
マイケル・フレデリック・コーリッショー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002305450A publication Critical patent/JP2002305450A/ja
Application granted granted Critical
Publication of JP3588349B2 publication Critical patent/JP3588349B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/12Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code

Abstract

(57)【要約】 (修正有) 【課題】10進ディジットを2進ビットに変換する方法
を提供する。 【解決手段】10進数から2進数に及びその逆にエンコ
ードするためのシステム及び方法が提供される。そのコ
ーディングは3個の10進ディジットを10個の2進ビ
ットとして表すことに基づいており、チェン/ホーのア
ルゴリズムを発展させたものである。本発明のエンコー
ディングを採用すると、先行の(最上位の)10進ディ
ジットが0である場合、2進出力のうちの最初の3ビッ
トが0である。最初の2個の10進ディジットが0であ
る場合、2進出力のうちの最初の6ビットが0である。
従って、2個の10進ディジットを7個の2進ビットに
及び1個の10進ディジットを4個の2進ビットにコー
ド化するために同じコーディングが柔軟に使用可能であ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、特にコンピュータ
・システム等において使用するための10進数から2進
数への変換及びその逆の変換に関するものである。
【0002】
【従来の技術】恐らく我々が両手の各々に5本の指を持
っているという生物学的な事実(又は、偶然)のため
に、人間による数学は、多分に10進方式に基づいてい
る。それとは対照的に、物理的な理由のために、現代の
ディジタル・コンピュータ・システムは、信号の存在に
より1が表され且つ信号の不在により0が表されること
(或いは、その逆)でもって、それらの内部処理に対し
ては2進数を使用する。従って、ほとんどの数値入力デ
ータは10進形式でコンピュータに与えられるであろ
う。これは、その後に処理のために2進数に変換され、
出力のために10進数に逆変換されなければならない。
【0003】10進数を2進数として表すいくつかの既
知の方法が存在する。我々が整数だけを考察する場合、
明らかに10進整数から2進整数へのダイレクト・マッ
ピングが存在する(例えば、235は11101011
になる)。実数に話を進めると、恐らく、最も自然な方
法は、小数点の右の第1ディジットが1/2を表し、n
番目のディジットが1/2nを表すように、小数点を2
進数に導入することである。この方法の場合の1つの問
題点は、0.1(10進数)が2進数では連分数であ
り、従って、正確には表され得ないということである。
これは、10進数から2進数への及びその逆への反復し
た変換によってまるめ誤差が増幅する可能性に通じる。
【0004】それとはわずか異なる方法は、整数の累乗
指数を使用して小数点位置を別個に記録することにより
実数でもって対処するように整数表示を拡張することで
ある(これは、固定小数点実数ではなく浮動小数点実数
と呼ばれる)。従って、235は、指数の値に従って2
3.5、2.35、0.235等になり得る。これは上記
の連分数の問題点を克服するが、依然として十分に満足
し得るものではない。2進数と10進数との間の変換は
ハードウエア設計に関しては特に簡単というわけではな
い(この種の機構は、ほとんど常に、速度の関係でハー
ドウエアによって与えられ)。これの理由は、一般的に
云えば、そのような変換が単純なビット操作ではない2
進数の加算を必要とするということである。また、出力
のためには10進数を切り捨て又は丸めなければならな
いことが割に一般的であり、このコーディング技法でも
ってそのような切り捨て又は丸めを行う(即ち、数値全
体の変換を最初に行うことなく行う)という速い方法が
ない。例えば、適当な指数と共に1.27を表す011
11111は1.3に丸められるし、1.24を表す01
111100は1.2に丸められる。
【0005】これらの問題点を回避する1つの方法は2
進化10進数を使用することである。この場合、各10
進ディジット(0−9)は対応する4ビットの2進数に
よってエンコードされるので、一連の10進ディジット
は4ビットの2進数を連結することによって表され得
る。これは任意の所与の10進ディジットを他のディジ
ットと無関係に素速く検索することを可能にし、従っ
て、簡単な丸め及び切り捨てを行うことを可能にする。
しかし、これは、記憶装置の効率を大きく失うという犠
牲を払って達せられた。潜在的には、4ビットは0−9
よりも0−15を記憶することができる。
【0006】底rを使用して整数Xを記憶するために必
要とするディジットの数NrがNr≒logr(X) となるとい
うことを留意することによって、我々は記憶効率を形式
的に測定することができる。従って、漸近的には(即
ち、非常に大きい数に対しては)所与の数の2進数記憶
のために使用されるディジット対その数の10進数記憶
のために使用されるディジットの比率は次のようにな
る。 N2/N10≒log2(X)/log10(X)≒(log10(X)/log10(2))/lo
g10(X)≒1/log10(2)≒3.322
【0007】2進化10進数は2進ディジットの数及び
10進ディジットの数の間で4の比率を有するので、こ
れはわずか 3.322/4=0.83 という効率を与え
るに過ぎない。別の方法で表現すれば、理論的には 4,
294,967,295 を2進整数として記憶し得る3
2ビットのシステムは、今や、99,999,999を1
0進整数として記憶することができるだけであり、最大
数の観点では係数≒40の減少である。
【0008】この欠点を克服するために、チェン(Che
n)氏及びホー(Ho)氏によって一種のハイブリッド・
アルゴリズムが開発された(Communications of the AC
M, January 1975, v18/1, p49-52 参照)。これは、21
0=1024≒103 という事実に基づいている(勿
論、この対応関係はすべてのコンピュータ記憶装置のサ
イズの基礎になっており、従って、実際には8Kバイト
は8000バイトではなく、8*1024に対応してい
る)。従って、チェン/ホーのアルゴリズムは3個の1
0進ディジットを取り、それらを10個の2進ビットに
エンコードする。これは、対応する10個の2進ビット
を単にデコードすることによって任意の所与のロケーシ
ョンにおける10進ディジットの比較的速い検索を可能
にするが、3.322/(10/3)=99.66% とい
う高い(漸近最大値の)記憶効率を保持する。
【0009】チェン/ホーのアルゴリズムは、3個の1
0進ディジット(その各々が4個の2進ビットによって
表される)に対応した12ビットを有する10進化2進
数から10ビットの2進数へのマッピングとして最もよ
く理解される。従って、そのアルゴリズムへの入力は、
(abcd),(efgh),(ijkl)と書かれ得るものである。この場
合、各括弧で括られた4文字のグループは10進ディジ
ットに等価の10進化2進数表示に対応する。10個の
出力ビットは pqrstuvwxy として示され得る。入力スト
リングから出力ストリングへのマッピングの詳細が下記
の表1に示される。
【0010】
【表1】
【0011】チェン/ホーのアルゴリズムは、10進デ
ィジット0−7が3個の2進ビットでエンコードされ得
るという観点に基づいている。従って、これらの10進
ディジットは「小」と見なされ、一方10進ディジット
8及び9は「大」と見なされる。10進ディジットが小
である場合、それの第1ビット(2進数で表された時の
第1ビット)は0であり、それが大である場合にはそれ
の第1ビットは1であるが次の2ビットはいつも0であ
る(それは、10進方式では9を越える個々の数が必要
ないためである)。従って、各2進化10進数に対する
第1ビットは、その数が小(0)であるか又は大(1)
であるかを決定する。それは、インジケータ・ビットと
して知られている。3個の10進ディジットに関して
は、3個のインジケータ・ビットに関して合計23=8
個の可能性が存在し、これらは表1における8つの行に
対応する。換言すれば、マッピングを行うためにその表
におけるどの行が使用されるかはインジケータ・ビット
の値に依存する。
【0012】表1における第1行に対応して3個の10
進ディジットすべてが小である場合(51.2%の可能
性)、これはp出力位置における0によって表される。
残りの9ビットは3個の3のグループに分けられ、10
進ディジットの各々の値を標準形式で表す(10進ディ
ジットがすべて小であるので、これらはすべて0−7の
範囲になければならない)。
【0013】10進ディジットのうちの1個だけが大で
ある場合(34.8%の可能性)、pは1にセットされ
る。次の2ビット(q及びr)は、3個の10進ディジ
ットのうちのどれが大であるか(それぞれ、第1、第
2、又は第3)を表すために00、01、又は10にセ
ットされる。残りの7ビットは、2個の小ディジットを
エンコードするための2個の3のグループ及び大ディジ
ットをエンコードするための1個の更なるビットに分け
られる。(大の10進数である8又は9に対しては2つ
の可能性しか存在しないので、実際の値は、2進化10
進数における最後のビットに対応する1個のビット、即
ち、適宜d、h、又はlによって表され得ることは明ら
かである)。
【0014】10進ディジットのうちの2個が大である
場合(9.6%の可能性)、p、q及びrはすべて1に
セットされる。1個の小の10進ディジットの位置(第
1、第2、又は第3ディジット)を表すために更なる2
ビット(t及びu)が00、01、10にセットされ
る。これは最後の5ビットを残しており、その5ビット
のうちの3ビットは1個の小ディジットをエンコードす
るために使用され、残りの2ビットの各々は2個の大デ
ィジットの1個に割り当てられる。
【0015】最後に、3個の10進ディジットすべてが
大である場合(0.8%の可能性)、p、q、r、t及
びuはすべて1にセットされる。残りの5ビットのうち
の3ビットは3個の大ディジットの各1個をエンコード
するために使用され、残りの2ビット(w及びx)は0
にセットされる。
【0016】チェン/ホーの値から2進化10進数に戻
るための適当なデコード・アルゴリズムは表1の内容を
逆に使うことによって簡単な方法で効率的に得られ、そ
れは彼らの論文に示されている。この目的のためには、
表のどの行がそのエンコードのために使用されたかを決
定することが先ず必要であるということに留意してほし
い。これは、最初にpビットの値を見ることによって、
及びこれが1である場合にはq及びrビットの値を見る
ことによって、及びこれらが共に1である場合にはt及
びuビットの値を見ることによって確認され得る。従っ
て、pビットは一次インジケータ・フィールドと見なさ
れ、q、r、t及びuビットは二次インジケータ・フィ
ールドとして見なされ得る。
【0017】チェン及びホーは、それらのインジケータ
・フィールドがハフマン・コードの形式である見なすこ
とができる。このコードでは、それは、最も可能性の高
いデータ値に対しては最短であって、可能性の低い値が
益々大きい長さを有するという可変長を持っている。更
に、インジケータ・フィールドの値は、それらがいつも
相互に適正に区別されるように注意深く選択される。し
かし、チェン/ホーのアルゴリズム全体は、無効のビッ
ト組み合わせの2進化10進値を除去することによって
それが働くというハフマン圧縮の形ではない。(対照的
に、ハフマン圧縮は短いコードを共通の記号に割り当
て、長いコードを生の記号に割り当て、統計的に平均し
たコード長により総合的な恩恵を受けている。)
【0018】チェン/ホーのアルゴリズムの重要な利点
は、3個のインジケータ・ビット(a、e及びi)のテ
ストに基づいて、2進シフト、挿入及び削除しか存在し
ないということである。更に、インジケータ・フィール
ドの外のビット割り当てが、できるだけビット・マッピ
ングを単純化するように設計されていたことは明らかで
あろう。従って、ビットd、h及びl(各入力10進デ
ィジットにおける最下位ビット)は、それぞれビット
s、v及びyにいつもそのままマップしている。従っ
て、全体的には、コーディングの非常に速い効率的なハ
ードウエア・インプリメンテーションが可能である。
【0019】
【発明が解決しようとする課題】3個の10進ディジッ
トを10個の2進ディジットにエンコードするための別
の方法もこの分野では知られていることに留意してほし
い。米国特許第3,618,047号は、チェン/ホーの
アルゴリズムに非常に類似した原理に基づくコーディン
グ方式を開示している。3個の10進ディジットの各々
を0−999の範囲における整数として単純に扱い、対
応する2進整数に変換することが可能であるということ
はスミス(Smith)氏によっても指摘されている(Commu
nications of ACM, August 1975, v18/8, p463 参
照)。これは、10進数から2進数への及びその逆の変
換を概念的には非常に簡単なものにする。しかし、10
進化2進数から圧縮2進数への変換及びそれを戻す変換
に伴う操作はチェン/ホーのアルゴリズムに必要なもの
よりもかなり複雑である。
【0020】チェン/ホー氏及びスミス氏による上記2
つの論文は可変長コーディング、換言すれば、N個の1
0進ディジットが可変長の2進ストリングにエンコード
されるコーディングの可能性も検討している。しかし、
そのような方法は標準的なコンピュータ・システムに組
み込むことが難しく、本願ではこれ以上検討されないで
あろう。
【0021】上記のチェン/ホーのアルゴリズムによる
1つの欠点は、それが3個の10進ディジットのグルー
プから10個の2進ビットへの変換に関して働くだけで
あるということである。しかし、コンピュータ・システ
ムはほぼ2の累乗の大きさに作られ(16ビット、32
ビット、64ビット)、従って、これらの大きさは実際
には10で直接に割り切れないであろう。上記のチェン
/ホーのアルゴリズムをそのまま使用することは残りの
ビットをすべて単純に無駄にすることになろう。例え
ば、64ビットのシステムでは、64個の利用可能なビ
ットのうちの60個を使用して、6*3=18個の10
進ディジットが記憶され得るだけである。確かにこれは
2進化10進数によって得られる16個の10進ディジ
ットに関する改良ではあるけれども、実用上の記憶効率
は、理論的な最大値よりもかなり低い3.322/(6
4/18)≒0.93に減少している。
【0022】事実、チェン/ホーのアルゴリズム(上記
の同じ論文におけるもの)及び米国特許第3,618,0
47号の両方とも2個の10進ディジットを7個のビッ
トにコード化するアルゴリズムも開示している。それ
は、上記3ディジットから10ビットへの変換アルゴリ
ズム(大/小の10進数に従って分離するもの)と同じ
原理に基づいている。更に、米国特許第3,618,04
7号は、11個の10進ディジットが3ディジットの3
グループ及び2ディジットの1グループに分解され得る
ことを提案した3及び2ディジット・アルゴリズムを結
合しようとするものである。もう1つの例として、64
ビット空間が(5*10)+(2*7)として分割可能
であり、19個の10進ディジットのコーディングを可
能にす。同じ数の10進ディジットが64ビット空間を
(6*10)+(1*4)として分割することによって
も得られる。但し、その4ビット・コーディングは単に
標準的な2進化10進コーディングである。実際には、
64ビットにおいてエンコードされ得る完全な10進デ
ィジットの最大の可能な数は19であり(それは、64
*log10(2)=19.27であるため、即ち、20よりも
小さいためであり)、従って、これらの方法は理論的に
は最適である。
【0023】しかし、このような異なるコーディング
(及びデコーディング)パターンの結合は、チェン/ホ
ーのアルゴリズムの主要な初期の魅力ある点の1つであ
った簡便性を含むものである。
【0024】
【課題を解決するための手段】従って、本発明は10進
ディジットを2進ビットに変換する方法を提供する。そ
の方法は、1個、2個、又は3個の10進ディジットを
受け取るステップと、1個の10進ディジットが存在す
る場合には最初の6個の2進ビットは0であり、2個の
10進ディジットが存在する場合には最初の3個の2進
ビットが0であるというようなエンコード方式を使用し
て前記10進ディジットを10個の2進ビットにエンコ
ードするステップと、前記10個の2進ビットを出力す
るステップと、を含む。
【0025】上記のエンコード方式の使用は、任意の数
の10進ディジットをコード化するために単一の効率的
な方式が使用されることを可能にする。1個、2個、又
は3個の10進ディジットを自動的にエンコードするた
めに同じ方式が使用可能である。なお、更に大きい数の
10進ディジットは3個のグループ(及び1個又は2個
の残り)に分解される。一般には、受け取られた10進
ディジットは2進化10進数の形式のものであることに
留意してほしい。
【0026】望ましい実施例では、3個よりも少ない1
0進ディジットが受け取られる場合、これらは、3ディ
ジット(又は、2進化10進数入力が使用される場合に
は12ビット)の整合した入力サイズを与えるために0
でもってパッドされ得る。これは、エンコーディングが
固定のハードウエアにおいて行われる場合には特に有用
である。対照的に、そのようなパッディングは、そのコ
ーディングがソフトウエアで、例えば、ルックアップ・
テーブルを介して行われる場合には必要ないであろう。
【0027】本発明の望ましい実施例によれば、10個
の2進ビットの出力は一次インジケータ・フィールドを
含んでいる。チェン/ホーのアルゴリズムのような従来
技術の方式とは反対に、この一次インジケータ・フィー
ルドは前記10個の2進ビットの前に(即ち、最上位ビ
ット値の位置に)配置されず、むしろそのビット・シ−
ケンス内に配置される。下記の望ましいインプリメンテ
ーションでは、一次インジケータ・フィールドは10ビ
ット・シーケンスにおける第7ビットである(これは、
1個又は2個の10進ディジットしかエンコードされな
い場合には0にならなければならないビット位置セット
の外にそれがあることを意味することに留意してほし
い)。
【0028】一次インジケータ・フィールドの目的は、
3個の10進ディジットがすべて小であるかどうかを表
すことである。この場合、それが0−7の範囲にあれば
小と見なされ、それが8又は9である(チェン/ホーの
方式に類似している)場合には大と見なされる。
【0029】3個の10進ディジットすべてが必ずしも
小ではない場合、10個の2進ビットには2ビットの二
次インジケータ・フィールドが含まれる。このフィール
ドは、前記3個の10進ディジットのうちの複数個が大
であることを表すための第1の値、並びに前記3個の1
0進ディジットのうちの1個だけが大である場合にそれ
らの10進ディジットのどれが大であるかを表すための
第2、第3、及び第4の値を有する。望ましい実施例で
は、その二次インジケータの2ビットは前記10個の2
進ビットの第8及び第9ビットを構成する(それらは、
再び、1個又は2個の10進ディジットしかエンコード
されない場合に0にならなければならないビット位置セ
ットの外である)。
【0030】2個以上の10進ディジットが大である場
合、2個の更なるビットの三次インジケータ・フィール
ドが10個の2進出力ビットに設けられる。このフィー
ルドは、前記10進ディジットにおける3個のディジッ
トすべてが大であることを表すための第1の値、並びに
前記10進ディジットのうちの1個だけが小である場合
にそれら10進ディジットのどれが小であるかを表すた
めの第2、第3、及び第4の値を有する。望ましい実施
例では、三次インジケータ・フィールドの2ビットは、
前記10個の2進ビットの第4及び第5ビットを構成す
る。
【0031】本発明は、更に、2進ビットを10進ディ
ジットに変換する(即ち、上記方向とは反対の方向にお
ける変換を行う)方法も提供する。これは、10個の2
進ビットを受け取るステップ、上述のエンコーディング
とは反対の操作を行うことによって前記10個の2進ビ
ットを3個の10進ディジットにデコードするステッ
プ、及び前記3個の10進ディジットを出力するステッ
プを伴う。前記デコードするステップにおける第1の論
理的ステップは、インジケータ・ビット(一次インジケ
ータ・フィールド)の値を調べるためのものであること
が望ましい。一般に、3個の10進ディジットは2進化
10進数の形で出力される(再び、これはハードウエア
実施例に対する事例であることが特に適している)。
【0032】本発明は、更に、上記の方法をインプリメ
ントするためのコンピュータ・プログラムを提供する。
そのようなプログラムは、CD−ROM、DVD、又は
ディスケットのような機械読み取り可能な記憶媒体の中
にエンコードされたプログラム命令のセットを表すコン
ピュータ・プログラム製品として供給され得る。この場
合、それらの命令は記憶媒体から読み取ることによって
コンピュータ又は他のホスト装置にロードされ、その方
法の処理をコンピュータ又はホスト装置に実行させる。
そのような命令はコンピュータにプリロードされる(例
えば、ROM上にエンコードされる)ことが可能であ
り、或いは、インターネットのようなネットワーク、ロ
ーカル・エリア・ネットワーク、無線リンク、又は他の
任意の適当な接続形式を介してコンピュータにダウンロ
ードされることも可能であるということに留意してほし
い。
【0033】本発明のエンコード方法に対応して、10
進ディジットを2進ビットに変換するためのシステムが
更に提供される。そのシステムは、1個、2個、又は3
個の10進ディジットを受け取るための手段と、1個の
10進ディジットが存在する場合には最初の6個の2進
ビットが0であり、2個の10進ディジットが存在する
場合には最初の3個の2進ビットが0であるというよう
なエンコード方式を使用して、前記3個の10進ディジ
ットを10個の2進ビットにエンコードするための手段
と、前記10個の2進ビットを出力するための手段と、
を含む。
【0034】本発明のデコード方法に対応して、2進ビ
ットを10進ディジットに変換するためのシステムが更
に提供される。そのシステムは、10個の2進ビットを
受け取るための手段と、上述のエンコードとは反対の操
作を行うことによって前記10個の2進ビットを3個の
10進ディジットにデコードするための手段(前記デコ
ードするための手段における第1の論理的ステップは前
記10個の2進ビットの前に配置されてないインジケー
タ・ビットの値を調べることである)と、前記3個の1
0進ディジットを出力するための手段と、を含む。
【0035】
【発明の実施の形態】次に、本発明の望ましい実施例を
単なる例として詳しく説明することにする。
【0036】本発明のコーディング方式は、表2に示さ
れたビット・マッピングに基づいている。表2における
表記法は表1において使用された表記法と同じであり、
3個の2進化10進ディジット(abcd)、(efgh)、(ijkl)
が10ビットの出力ストリング(pqrstuvwxy)にエンコー
ドされる。
【0037】
【表2】
【0038】表1のエンコーディング方式では、1個又
は2個の10進ディジットからそれぞれ4個又は7個の
ビットへの圧縮は3ディジット・コーディングの右揃え
されたサブセットとして得られる。これは、任意の数の
10進ディジットが効果的にエンコードされることを可
能にする。単に0ビットでもってパッドすることによっ
て、短い10進数が長いフィールドに拡張され得る。
【0039】例えば、38個の10進ディジットは12
8個のビットにエンコードされ得る(38=12*3+
1*2は符号のための1ビットを残して127ビットに
対応する)。1つの望ましい実施例では、本発明のエン
コーディングを使用して、33ディジットの10進数及
び指数が128ビット・フィールドに記憶される(注
意:とりわけ、COBOLのような或る種の言語は32
ディジット計算を必要とするので、これを128ビット
・レジスタに適合させる機能が特に有用である)。
【0040】表2のビット・マッピングに関してこれら
の特性を維持する多くの変形が存在することは明らかで
あろう。次の3つの主要なカテゴリを考察する。 (a)冗長ビット:10ビットが1024を表すことが
でき、我々が3個の10進ディジットに対して1000
個の可能性しか必要としないものと仮定すると、事実、
或る2進の組み合わせは冗長であり、従って、交換可能
である。例えば、その表の最終行では、ビットa及びb
の値は勝手に0にセットされたが、コードに影響を与え
ることなく任意の値を持つことが可能である(その最終
行は、3個の10進ディジットすべてが大、即ち、8又
は9であるという状況にしか関係ないので、ここでは先
行の0は必要ない)。 (b)ビット反転:或るビット・マッピングを反転する
ことは明らかにあり得ることである。例えば、ビットy
は、常に又は選択された行のみ対して、ダイレクト・マ
ッピングとしてではなくビットlの反転となり得る。同
様に、インジケータ・フィールドの或るコンポーネント
は、一次インジケータ・フィールドv又は二次インジケ
ータ・ビットw及びx(これらは1つのペアとして反転
されなければならないであろう)のような示された値か
らも常に反転可能である。ビットv、w及びxはすべて
最後の4位置内にあるので、3個よりも少ない10進値
がマップされ場合、それらの値は先行の0の部分にはな
らないであろうということに留意してほしい。 (c)ビット再配置:表2の第1行を考察する。3個よ
りも小さい10進ディジットに対して先行の0にインパ
クトを与えることなくビットw、x、及びyのいずれに
おいてもビットj、k、及びlを記憶することが可能で
あることは明らかであろう(例えば、j、k、及びlが
それぞれビットx、w、及びyにマップする)。更に、
或る種の結合ロジックを使用した更に複雑なビット・マ
ッピングも使用可能である。
【0041】従って、上記の原理に基づいて、及び可能
性のある異なるカテゴリの変形を結合して又は他の変形
を採用して、当業者は、1個、2個、又は3個の10進
ディジットを同時に処理する能力を持った種々の別のマ
ッピングを表2から発展させることができるであろう。
換言すれば、表2に示された特定のコーディング方式は
独特のものではなく、本発明を説明するだけのものであ
る。
【0042】それにも関わらず、表2のマッピングは、
それが2つの更なる利点を有するので、望ましい実施例
において使用される。第1に、そのビット・マッピング
は比較的簡単であり(常にyに直接にマップするlのよ
うに)、それによってハードウエアの複雑さ及びコスト
を縮小している。第2に、表2の最初の2行だけを利用
する0から79までのすべての数が、12ビットから1
0ビットになるように先行の0を単に落とすことによっ
て、効果的にそれらの2進化10進値から直接マップす
る(対照的に、チェン/ホーの方法は、5までの数に対
してはそのような直接的なマッピングを行うだけであ
る)。従って、小さい数(ごく一般的となる傾向があ
る)に関する変換は特に簡単に行われ得る。
【0043】表2のエンコーディングから2進化10進
数にマップ・バックするための対応するデコード方式が
表3に示される(なお、この表における"."は無関係を
意味する)。
【0044】
【表3】
【0045】上記表2のマッピングに従って出力ビット
を取り出すための論理演算は次のように表される(な
お、その論理演算では、"&"=AND、"|"=OR、及
び"-"=NOTである)。
【0046】 p=(b & -a)|(j & a & -i)|(f & a & -e & i) q=(c & -a)|(k & a & -i)|(g & a & -e & i) r=d s=(f & -e & -(a & i))|(j &(-a & e & -i))|(e & i) t=(g & -e & -(a & i))|(k &(-a & e & -i))|(a & i) u=h v=a | e | i w=a |(e & i)|(j & -e & -i) x=e |(a & i)|(k & -a & -i) y=l
【0047】10個の2進ビット(pqrstuvwxy)から標
準的な2進化10進数(abcd)、(efgh)、(ijkl)に変
換するためのデコード操作、即ち、表3のマッピングは
次のように遂行され得る。
【0048】 a=(v & w) & (-x|-s|(s & t)) b=p &(-v|-w(v & w & x & s & -t)) c=q &(-v|-w(v & w & x & s & -t)) d=r e=v &((-w & x)|(w & x &(s | -t))) f=(s &(-v | (v & -x)))|(p & v & w & x & -s & t) g=(t &(-v | (v & -x)))|(q & v & w & x & -s & t) h=u i=v &((-w & -x)|(w & x &(s | t))) j=(w & -v)|(s & v & -w & x)|(p & v & w & (-x|(-s &
-t))) k=(x & -v)|(t & v & -w & x)|(q & v & w & (-x|(-s &
-t))) l=y
【0049】エンコード及びデコードするためのこれら
の式が標準的なブール技法を使用して種々の論理等価物
に改変可能であることは明らかであろう。また、それら
の式が、指定された入力/出力と接続された適切なゲー
トを含むハードウエア・エンコーダ/デコーダをそれぞ
れ効果的に定義することも明らかであろう。ソフトウエ
ア・インプリメンテーションに対しては、上記のマッピ
ングからルックアップ・テーブル(例えば、ハッシュ・
テーブル)を生成することがより速いかもしれない。こ
のルックアップ・テーブルが明らかに10進コーディン
グから2進コーディングに直接に(中間ステップとして
2進化10進数を使用することなく)変わり得ることに
留意してほしい。原理的には、これを行うハードウエア
を作ることも可能であるが、これは10進数をそのまま
処理するように複雑なハードウエアを設計することを考
慮すればやりがいのあることではないであろう(換言す
れば、2進化10進数への中間的変換は、一般には、ハ
ードウエア・インプリメンテーションにとって有益なこ
とであろう)。例えば、10進数から2進化10進数へ
のソフトウエア変換及びしかる後の表2において詳しい
圧縮によるハードウエア変換のようなソフトウエア/ハ
ードウエア結合インプリメンテーションが環境次第では
望ましいかもしれないことも明らかであろう。
【0050】本発明を使用する1つの例はデータベース
におけるものであり、その場合、データベースは10進
ディジットをそれらの真正な形式で保持するように設計
され得る(特に、これらが、時には、単なる数量ではな
く口座番号等を表すことがあり得るということを心に留
めておいてほしい)。ここではエンコーディングはデー
タを、それの10進数の性質を保ちながら効率的に(即
ち、できるだけ小さい記憶スペースを使用して)保存又
は記憶するように使用され得る。これらの環境において
は、エンコーディングはデータベースがデータ・ファイ
ルを記憶のために書き込む時に遂行され、デコーディン
グはデータベースが記憶されたデータ・ファイルを処理
のために読み出す時に遂行される。
【0051】処理するためのデコーディングはソフトウ
エアにおいて、例えば、Cルーチンのライブラリによっ
て又は適当なハードウエア構造によって遂行され得る。
一般には、処理の後、数値はその後の記憶のために、本
願において説明したように、エンコードされるであろ
う。ハードウエアが使用される場合、デコードされた数
値は特定の計算操作を行うために必要とされるだけであ
る。換言すれば、圧縮された形式が記憶装置からレジス
タに読み出され、関連の計算操作(例えば、加算)のた
めにデコードされる必要があるだけである。この操作の
結果は、レジスタへのその結果の書き戻し動作の部分で
再エンコードされ得る。
【0052】本発明を使用するもう1つの例は、機械に
無関係に10進数をエンコードすることである。これ
は、そのような数値を機械相互間で転送するために使用
され得る。わずかに類似したアプリケーションがインタ
ーネット又はワールドワイド・ウェブにおけるものであ
ろう。その場合、種々のクライアントの装置において処
理を行うことが望ましい。一例は、htmlページの一
部分として含まれた10進数をXML形式で処理するこ
とであろう。
【0053】本発明のコーディング方式が非常に広範囲
の装置に適用可能であることに留意してほしい。これ
は、パームトップからパーソナル・コンピュータ、ワー
クステーション、サーバ及びメインフレームまでのサイ
ズ範囲にあるコンピュータのみならず、POS端末、カ
ー・ナビゲーション・システム、パーソナル・ディジタ
ル・アシスタントのような10進計算を行いたい他の装
置(一般には、マイクロプロセッサ又はDSPベースの
もの)を含む。また、本発明に従ってエンコーディング
又はデコーディング(両方ではない)を行う特殊な装置
又はアプリケーションがあり得ることにも留意してほし
い。
【0054】従って、要約すると、本願において開示さ
れたコーディング方式は広範囲のアプリケーションを有
し、ハードウエア、ソフトウエア、又はその2つの組み
合わせにおいてインプリメントされ得る。エンコーディ
ングのための望ましいフォーマットは表2に示されてい
るが、これが単に例示的なものに過ぎないことは明らか
であろう。当業者は、特許請求の範囲において定義され
た本発明の技術的範囲内にある上記の適正なインプリメ
ンテーションに対する種々の修正を思い付くことであろ
う。
【0055】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0056】(1)10進ディジットを2進ビットに変
換する方法にして、1個、2個又は3個の10進ディジ
ットを受け取るステップと、1個の10進ディジットが
存在する場合には最初の6個の2進ビットが0であり、
2個の10進ディジットが存在する場合には最初の3個
の2進ビットが0であるというようなエンコーディング
方式を使用して前記10進ディジットを10個の2進ビ
ットにエンコードするステップと、、前記10個の2進
ビットを出力するステップと、を含む方法。 (2)前記エンコードするステップの前に、1個の10
進ディジットが受け取られた場合には該受け取られた1
0進ディジットを2個の0でもってパッドするステップ
と、前記エンコードするステップの前に、2個の10進
ディジットが受け取られた場合には該受け取られた10
進ディジットを1個の0でもってパッドするステップ
と、を更に含む、上記(1)に記載の方法。 (3)前記10個の2進ビットの出力は一次インジケー
タ・フィールドを含み、該一次インジケータ・フィール
ドは前記10個の2進ビットのうちの第1ビットではな
い、上記(1)又は(2)に記載の方法。 (4)前記一次インジケータ・フィールドは前記10個
の2進ビットのうちの最後のビットではない、上記
(3)に記載の方法。 (5)前記一次インジケータ・フィールドは前記10個
の2進ビットのうちの第7ビットを含む、上記(4)に
記載の方法。 (6)前記一次インジケータ・フィールドは前記3個の
10進ディジットがすべて小であるかどうかを表す、上
記(3)乃至(5)のいずれかに記載の方法。 (7)10進ディジットが0−7の範囲にある場合には
該10進ディジットは小であると見なされ、10進ディ
ジットが8又は9である場合には該10進ディジットは
大であると見なされる、上記(6)に記載の方法。 (8)前記3個の10進ディジットが小ではないディジ
ットを含む場合、前記10個の2進ビットは二次インジ
ケータ・フィールドを含む、上記(7)に記載の方法。 (9)前記二次インジケータ・フィールドは2個のビッ
トを含む、上記(8)に記載の方法。 (10)前記二次インジケータ・フィールドは前記10
進ディジットのうちの複数のディジットが大であること
を表すための第1の値及び前記10進ディジットのうち
の1個のディジットだけが大である場合に前記3個の1
0進ディジットのうちのどれが大であるかを表すための
第2、第3及び第4の値を有する、上記(9)に記載の
方法。 (11)前記二次インジケータ・フィールドの前記2個
のビットは前記10個の2進ビットのうちの第8及び第
9ビットを含む、上記(8)又は(9)に記載の方法。 (12)前記10進ディジットのうちの2個以上のディ
ジットが大である場合、前記10個の2進ビットは三次
インジケータ・フィールドを含む、上記(8)乃至(1
1)のいずれかに記載の方法。 (13)前記三次インジケータ・フィールドは2個のビ
ットを含む、上記(12)に記載の方法。 (14)前記三次インジケータ・フィールドは前記3個
の10進ディジットすべてが大であることを表すための
第1の値及び前記10進ディジットのうちの1個のディ
ジットだけが小である場合に前記3個の10進ディジッ
トのうちのどれが小であるかを表すための第2、第3及
び第4の値を有する、上記(13)に記載の方法。 (15)前記三次インジケータ・フィールドの前記2個
のビットは前記10個の2進ビットの第4及び第5ビッ
トを含む、上記(13又は14)に記載の方法。 (16)前記10個の2進ビットは0−79の範囲にお
けるすべての10進数に対して前記10進ディジットの
2進化10進コーディングに対応する、上記(1)乃至
(15)のいずれかに記載の方法。 (17)前記受け取られた10進ディジットは2進化1
0進数の形式である、上記(1)乃至(16)のいずれ
かに記載の方法。 (18)2進ビットを10進ディジットに変換する方法
にして、10個の2進ビットを受け取るステップと、上
記(1)乃至(17)のいずれかにおけるエンコードす
るステップの反対の操作を行うことによって前記10個
の2進ビットを3個の10進ディジットにデコードする
ステップと、前記3個の10進ディジットを出力するス
テップと、を含む方法。 (19)2進ビットを10進ディジットに変換する方法
にして、10個の2進ビットを受け取るステップと、前
記10個の2進ビットを3個の10進ディジットにデコ
ードするステップであって、前記10個の2進ビットの
前に置かれていないインジケータ・ビットの値を調べる
第1の論理的ステップを含むステップと、前記3個の1
0進ディジットを出力するステップと、を含む方法。 (20)前記インジケータ・ビットは前記10個の2進
ビットの終わりには置かれていない、上記(19)に記
載の方法。 (21)前記インジケータ・ビットは前記10個の2進
ビットのうちの第7ビットである、上記(20)に記載
の方法。 (22)前記3個の10進ディジットは2進化10進数
の形式である、上記(18)乃至(21)のいずれかに
記載の方法。 (23)3個までの10進ディジットを10個の2進ビ
ットにエンコードする方法にして、前記エンコードは実
質的に表2におけるマッピングに従って行われる方法。 (24)上記(1)至(23)のいずれかの方法をコン
ピュータに実行させるためのコンピュータ・プログラ
ム。 (25)10進ディジットを2進ビットに変換するため
のシステムにして、1個、2個、又は3個の10進ディ
ジットを受け取るための手段と、1個の10進ディジッ
トが存在する場合には最初の6個の2進ビットが0であ
り、2個の10進ディジットが存在する場合には最初の
3個の2進ビットが0であるというようなエンコーディ
ング方式を使用して前記10進ディジットを10個の2
進ビットにエンコードするための手段と、前記10個の
2進ビットを出力するための手段と、を含むシステム。 (26)前記エンコードする前に、1個の10進ディジ
ットが受け取られた場合には該受け取られた10進ディ
ジットを2個の0でもってパッドするための手段と、前
記エンコードする前に、2個の10進ディジットが受け
取られた場合には該受け取られた10進ディジットを1
個の0でもってパッドするための手段と、を更に含む、
上記(25)に記載のシステム。 (27)前記10個の2進ビットの出力は一次インジケ
ータ・フィールドを含み、該一次インジケータ・フィー
ルドは前記10個の2進ビットのうちの第1ビットでは
ない、上記(25)又は(26)に記載のシステム。 (28)前記一次インジケータ・フィールドは前記10
個の2進ビットのうちの最後のビットではない、上記
(27)に記載のシステム。 (29)前記一次インジケータ・フィールドは前記10
個の2進ビットのうちの第7ビットを含む、上記(2
8)に記載のシステム。 (30)前記一次インジケータ・フィールドは前記3個
の10進ディジットがすべて小であるかどうかを表す、
上記(27)乃至(29)のいずれかに記載のシステ
ム。 (31)10進ディジットが0−7の範囲にある場合に
は該10進ディジットは小であると見なされ、10進デ
ィジットが8又は9である場合には該10進ディジット
は大であると見なされる、上記(30)に記載のシステ
ム。 (32)前記3個の10進ディジットが小ではないディ
ジットを含む場合、前記10個の2進ビットは二次イン
ジケータ・フィールドを含む、上記(31)に記載のシ
ステム。 (33)前記二次インジケータ・フィールドは2個のビ
ットを含む、上記(22)に記載のシステム。 (34)前記二次インジケータ・フィールドは前記10
進ディジットのうちの複数のディジットが大であること
を表すための第1の値及び前記10進ディジットのうち
の1個のディジットだけが大である場合に前記3個の1
0進ディジットのうちのどれが大であるかを表すための
第2、第3及び第4の値を有する、上記(33)に記載
のシステム。 (35)前記二次インジケータ・フィールドの前記2個
のビットは前記10個の2進ビットのうちの第8及び第
9ビットを含む、上記(32)又は(33)に記載のシ
ステム。 (36)前記10進ディジットのうちの2個以上のディ
ジットが大である場合、前記10個の2進ビットは三次
インジケータ・フィールドを含む、上記(32)乃至
(35)のいずれかに記載のシステム。 (37)前記三次インジケータ・フィールドは2個のビ
ットを含む、上記(36)に記載のシステム。 (38)前記三次インジケータ・フィールドは前記3個
の10進ディジットすべてが大であることを表すための
第1の値及び前記10進ディジットのうちの1個のディ
ジットだけが小である場合に前記3個の10進ディジッ
トのうちのどれが小であるかを表すための第2、第3及
び第4の値を有する、上記(37)に記載のシステム。 (39)前記三次インジケータ・フィールドの前記2個
のビットは前記10個の2進ビットの第4及び第5ビッ
トを含む、上記(37)は(38)に記載のシステム。 (40)前記10個の2進ビットは0−79の範囲にお
けるすべての10進数に対して前記10進ディジットの
2進化10進コーディングに対応する、上記(25)乃
至(39)のいずれかに記載のシステム。 (41)前記受け取られた10進ディジットは2進化1
0進数の形式である、上記(25)乃至(40)のいず
れかに記載のシステム。 (42)2進ビットを10進ディジットに変換するため
のシステムにして、10個の2進ビットを受け取るため
の手段と、上記(25)乃至(41)のいずれかにおけ
るエンコードするステップの反対の操作を行うことによ
って前記10個の2進ビットを3個の10進ディジット
にデコードするための手段と、前記3個の10進ディジ
ットを出力するための手段と、を含むシステム。 (43)2進ビットを10進ディジットに変換するため
のシステムにして、10個の2進ビットを受け取るため
の手段と、前記10個の2進ビットを3個の10進ディ
ジットにデコードするための手段であって、前記10個
の2進ビットの前に置かれていないインジケータ・ビッ
トの値を調べる第1の論理的手段を含む手段と、前記3
個の10進ディジットを出力するための手段と、を含む
システム。 (44)前記インジケータ・ビットは前記10個の2進
ビットの終わりには置かれていない、上記(43)に記
載のシステム。 (45)前記インジケータ・ビットは前記10個の2進
ビットのうちの第7ビットである、上記(44)に記載
のシステム。 (46)前記3個の10進ディジットは2進化10進数
の形式である、上記(42乃至45のいずれか)に記載
のシステム。 (47) 3個までの10進ディジットを10個の2進
ビットにエンコードするシステムにして、前記エンコー
ドは実質的に表2におけるマッピングに従って行われる
システム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・フレデリック・コーリッショー イギリス国、シー・ブイ・4 7/エル・ エイ ウォーリックシャー、コベントリ ー、クリフィールド・ハイツ 33

Claims (47)

    【特許請求の範囲】
  1. 【請求項1】10進ディジットを2進ビットに変換する
    方法にして、 1個、2個又は3個の10進ディジットを受け取るステ
    ップと、 1個の10進ディジットが存在する場合には最初の6個
    の2進ビットが0であり、2個の10進ディジットが存
    在する場合には最初の3個の2進ビットが0であるとい
    うようなエンコーディング方式を使用して前記10進デ
    ィジットを10個の2進ビットにエンコードするステッ
    プと、 前記10個の2進ビットを出力するステップと、 を含む方法。
  2. 【請求項2】前記エンコードするステップの前に、1個
    の10進ディジットが受け取られた場合には該受け取ら
    れた10進ディジットを2個の0でもってパッドするス
    テップと、 前記エンコードするステップの前に、2個の10進ディ
    ジットが受け取られた場合には該受け取られた10進デ
    ィジットを1個の0でもってパッドするステップと、 を更に含む、請求項1に記載の方法。
  3. 【請求項3】前記10個の2進ビットの出力は一次イン
    ジケータ・フィールドを含み、該一次インジケータ・フ
    ィールドは前記10個の2進ビットのうちの第1ビット
    ではない、請求項1又は2に記載の方法。
  4. 【請求項4】前記一次インジケータ・フィールドは前記
    10個の2進ビットのうちの最後のビットではない、請
    求項3に記載の方法。
  5. 【請求項5】前記一次インジケータ・フィールドは前記
    10個の2進ビットのうちの第7ビットを含む、請求項
    4に記載の方法。
  6. 【請求項6】前記一次インジケータ・フィールドは前記
    3個の10進ディジットがすべて小であるかどうかを表
    す、請求項3乃至5のいずれかに記載の方法。
  7. 【請求項7】10進ディジットが0−7の範囲にある場
    合には該10進ディジットは小であると見なされ、10
    進ディジットが8又は9である場合には該10進ディジ
    ットは大であると見なされる、請求項6に記載の方法。
  8. 【請求項8】前記3個の10進ディジットが小ではない
    ディジットを含む場合、前記10個の2進ビットは二次
    インジケータ・フィールドを含む、請求項7に記載の方
    法。
  9. 【請求項9】前記二次インジケータ・フィールドは2個
    のビットを含む、請求項8に記載の方法。
  10. 【請求項10】前記二次インジケータ・フィールドは前
    記10進ディジットのうちの複数のディジットが大であ
    ることを表すための第1の値及び前記10進ディジット
    のうちの1個のディジットだけが大である場合に前記3
    個の10進ディジットのうちのどれが大であるかを表す
    ための第2、第3及び第4の値を有する、請求項9に記
    載の方法。
  11. 【請求項11】前記二次インジケータ・フィールドの前
    記2個のビットは前記10個の2進ビットのうちの第8
    及び第9ビットを含む、請求項8又は9に記載の方法。
  12. 【請求項12】前記10進ディジットのうちの2個以上
    のディジットが大である場合、前記10個の2進ビット
    は三次インジケータ・フィールドを含む、請求項8乃至
    11のいずれかに記載の方法。
  13. 【請求項13】前記三次インジケータ・フィールドは2
    個のビットを含む、請求項12に記載の方法。
  14. 【請求項14】前記三次インジケータ・フィールドは前
    記3個の10進ディジットすべてが大であることを表す
    ための第1の値及び前記10進ディジットのうちの1個
    のディジットだけが小である場合に前記3個の10進デ
    ィジットのうちのどれが小であるかを表すための第2、
    第3及び第4の値を有する、請求項13に記載の方法。
  15. 【請求項15】前記三次インジケータ・フィールドの前
    記2個のビットは前記10個の2進ビットの第4及び第
    5ビットを含む、請求項13又は14に記載の方法。
  16. 【請求項16】前記10個の2進ビットは0−79の範
    囲におけるすべての10進数に対して前記10進ディジ
    ットの2進化10進コーディングに対応する、請求項1
    乃至15のいずれかに記載の方法。
  17. 【請求項17】前記受け取られた10進ディジットは2
    進化10進数の形式である、請求項1乃至16のいずれ
    かに記載の方法。
  18. 【請求項18】2進ビットを10進ディジットに変換す
    る方法にして、 10個の2進ビットを受け取るステップと、 請求項1乃至17のいずれかにおけるエンコードするス
    テップの反対の操作を行うことによって前記10個の2
    進ビットを3個の10進ディジットにデコードするステ
    ップと、 前記3個の10進ディジットを出力するステップと、 を含む方法。
  19. 【請求項19】2進ビットを10進ディジットに変換す
    る方法にして、 10個の2進ビットを受け取るステップと、 前記10個の2進ビットを3個の10進ディジットにデ
    コードするステップであって、前記10個の2進ビット
    の前に置かれていないインジケータ・ビットの値を調べ
    る第1の論理的ステップを含むステップと、 前記3個の10進ディジットを出力するステップと、 を含む方法。
  20. 【請求項20】前記インジケータ・ビットは前記10個
    の2進ビットの終わりには置かれていない、請求項19
    に記載の方法。
  21. 【請求項21】前記インジケータ・ビットは前記10個
    の2進ビットのうちの第7ビットである、請求項20に
    記載の方法。
  22. 【請求項22】前記3個の10進ディジットは2進化1
    0進数の形式である、請求項18乃至21のいずれかに
    記載の方法。
  23. 【請求項23】3個までの10進ディジットを10個の
    2進ビットにエンコードする方法にして、前記エンコー
    ドは実質的に表2におけるマッピングに従って行われる
    方法。
  24. 【請求項24】請求項1乃至23のいずれかの方法をコ
    ンピュータに実行させるためのコンピュータ・プログラ
    ム。
  25. 【請求項25】10進ディジットを2進ビットに変換す
    るためのシステムにして、 1個、2個、又は3個の10進ディジットを受け取るた
    めの手段と、 1個の10進ディジットが存在する場合には最初の6個
    の2進ビットが0であり、2個の10進ディジットが存
    在する場合には最初の3個の2進ビットが0であるとい
    うようなエンコーディング方式を使用して前記10進デ
    ィジットを10個の2進ビットにエンコードするための
    手段と、 前記10個の2進ビットを出力するための手段と、 を含むシステム。
  26. 【請求項26】前記エンコードする前に、1個の10進
    ディジットが受け取られた場合には該受け取られた10
    進ディジットを2個の0でもってパッドするための手段
    と、 前記エンコードする前に、2個の10進ディジットが受
    け取られた場合には該受け取られた10進ディジットを
    1個の0でもってパッドするための手段と、 を更に含む、請求項25に記載のシステム。
  27. 【請求項27】前記10個の2進ビットの出力は一次イ
    ンジケータ・フィールドを含み、該一次インジケータ・
    フィールドは前記10個の2進ビットのうちの第1ビッ
    トではない、請求項25又は26に記載のシステム。
  28. 【請求項28】前記一次インジケータ・フィールドは前
    記10個の2進ビットのうちの最後のビットではない、
    請求項27に記載のシステム。
  29. 【請求項29】前記一次インジケータ・フィールドは前
    記10個の2進ビットのうちの第7ビットを含む、請求
    項28に記載のシステム。
  30. 【請求項30】前記一次インジケータ・フィールドは前
    記3個の10進ディジットがすべて小であるかどうかを
    表す、請求項27乃至29のいずれかに記載のシステ
    ム。
  31. 【請求項31】10進ディジットが0−7の範囲にある
    場合には該10進ディジットは小であると見なされ、1
    0進ディジットが8又は9である場合には該10進ディ
    ジットは大であると見なされる、請求項30に記載のシ
    ステム。
  32. 【請求項32】前記3個の10進ディジットが小ではな
    いディジットを含む場合、前記10個の2進ビットは二
    次インジケータ・フィールドを含む、請求項31に記載
    のシステム。
  33. 【請求項33】前記二次インジケータ・フィールドは2
    個のビットを含む、請求項22に記載のシステム。
  34. 【請求項34】前記二次インジケータ・フィールドは前
    記10進ディジットのうちの複数のディジットが大であ
    ることを表すための第1の値及び前記10進ディジット
    のうちの1個のディジットだけが大である場合に前記3
    個の10進ディジットのうちのどれが大であるかを表す
    ための第2、第3及び第4の値を有する、請求項33に
    記載のシステム。
  35. 【請求項35】前記二次インジケータ・フィールドの前
    記2個のビットは前記10個の2進ビットのうちの第8
    及び第9ビットを含む、請求項32又は33に記載のシ
    ステム。
  36. 【請求項36】前記10進ディジットのうちの2個以上
    のディジットが大である場合、前記10個の2進ビット
    は三次インジケータ・フィールドを含む、請求項32乃
    至35のいずれかに記載のシステム。
  37. 【請求項37】前記三次インジケータ・フィールドは2
    個のビットを含む、請求項36に記載のシステム。
  38. 【請求項38】前記三次インジケータ・フィールドは前
    記3個の10進ディジットすべてが大であることを表す
    ための第1の値及び前記10進ディジットのうちの1個
    のディジットだけが小である場合に前記3個の10進デ
    ィジットのうちのどれが小であるかを表すための第2、
    第3及び第4の値を有する、請求項37に記載のシステ
    ム。
  39. 【請求項39】前記三次インジケータ・フィールドの前
    記2個のビットは前記10個の2進ビットの第4及び第
    5ビットを含む、請求項37又は38に記載のシステ
    ム。
  40. 【請求項40】前記10個の2進ビットは0−79の範
    囲におけるすべての10進数に対して前記10進ディジ
    ットの2進化10進コーディングに対応する、請求項2
    5乃至39のいずれかに記載のシステム。
  41. 【請求項41】前記受け取られた10進ディジットは2
    進化10進数の形式である、請求項25乃至40のいず
    れかに記載のシステム。
  42. 【請求項42】2進ビットを10進ディジットに変換す
    るためのシステムにして、 10個の2進ビットを受け取るための手段と、 請求項25乃至41のいずれかにおけるエンコードする
    ステップの反対の操作を行うことによって前記10個の
    2進ビットを3個の10進ディジットにデコードするた
    めの手段と、 前記3個の10進ディジットを出力するための手段と、 を含むシステム。
  43. 【請求項43】2進ビットを10進ディジットに変換す
    るためのシステムにして、 10個の2進ビットを受け取るための手段と、 前記10個の2進ビットを3個の10進ディジットにデ
    コードするための手段であって、前記10個の2進ビッ
    トの前に置かれていないインジケータ・ビットの値を調
    べる第1の論理的手段を含む手段と、 前記3個の10進ディジットを出力するための手段と、
    を含むシステム。
  44. 【請求項44】前記インジケータ・ビットは前記10個
    の2進ビットの終わりには置かれていない、請求項43
    に記載のシステム。
  45. 【請求項45】前記インジケータ・ビットは前記10個
    の2進ビットのうちの第7ビットである、請求項44に
    記載のシステム。
  46. 【請求項46】前記3個の10進ディジットは2進化1
    0進数の形式である、請求項42乃至45のいずれかに
    記載のシステム。
  47. 【請求項47】3個までの10進ディジットを10個の
    2進ビットにエンコードするシステムにして、前記エン
    コードは実質的に表2におけるマッピングに従って行わ
    れるシステム。
JP2002017981A 2001-01-27 2002-01-28 10進数を2進数にエンコード/デコードする方法 Expired - Fee Related JP3588349B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0102154.2A GB0102154D0 (en) 2001-01-27 2001-01-27 Decimal to binary coder/decoder
GB0102154.2 2001-01-27

Publications (2)

Publication Number Publication Date
JP2002305450A true JP2002305450A (ja) 2002-10-18
JP3588349B2 JP3588349B2 (ja) 2004-11-10

Family

ID=9907638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002017981A Expired - Fee Related JP3588349B2 (ja) 2001-01-27 2002-01-28 10進数を2進数にエンコード/デコードする方法

Country Status (6)

Country Link
US (2) US6437715B1 (ja)
EP (1) EP1231716B1 (ja)
JP (1) JP3588349B2 (ja)
AT (1) ATE377867T1 (ja)
DE (1) DE60131247T2 (ja)
GB (1) GB0102154D0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9352417B2 (en) 2002-04-19 2016-05-31 Electro Scientific Industries, Inc. Increasing die strength by etching during or after dicing

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587070B2 (en) * 2001-04-03 2003-07-01 Raytheon Company Digital base-10 logarithm converter
US6707652B2 (en) * 2002-07-10 2004-03-16 Eaton Corporation Electrical switching apparatus including glowing contact protection
US7523150B2 (en) 2004-10-28 2009-04-21 Hewlett-Packard Development Company, L.P. Binary representation of number based on processor word size
US7644115B2 (en) * 2005-01-07 2010-01-05 Sas Institute Inc. System and methods for large-radix computer processing
US7471385B2 (en) * 2005-01-13 2008-12-30 Xerox Corporation Systems and methods for selecting a reference database for determining a spectrum of an object based on fluorescence of the object
US8131709B2 (en) * 2005-01-14 2012-03-06 International Business Machines Corporation Mechanism for providing efficient access to redundant number representations
US7660838B2 (en) * 2005-02-09 2010-02-09 International Business Machines Corporation System and method for performing decimal to binary conversion
US20060179098A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation System and method for reduction of leading zero detect for decimal floating point numbers
US20060179090A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation System and method for converting binary to decimal
US7685214B2 (en) * 2005-08-26 2010-03-23 International Business Machines Corporation Order-preserving encoding formats of floating-point decimal numbers for efficient value comparison
US8364734B2 (en) * 2005-09-15 2013-01-29 International Business Machines Corporation Converting from decimal floating point into scaled binary coded decimal
US7698352B2 (en) * 2005-09-15 2010-04-13 International Business Machines Corporation System and method for converting from scaled binary coded decimal into decimal floating point
US8051117B2 (en) * 2007-04-26 2011-11-01 International Business Machines Corporation Shift significand of decimal floating point data
US20080270495A1 (en) * 2007-04-26 2008-10-30 International Business Machines Corporation Insert/extract biased exponent of decimal floating point data
US8190664B2 (en) * 2007-04-26 2012-05-29 International Business Machines Corporation Employing a mask field of an instruction to encode a sign of a result of the instruction
US8051118B2 (en) * 2007-04-26 2011-11-01 International Business Machines Corporation Composition of decimal floating point data
US9710227B2 (en) 2012-09-15 2017-07-18 John W. Ogilvie Formatting floating point numbers
US9143159B2 (en) 2012-10-04 2015-09-22 Silminds, Inc. DPD/BCD to BID converters
US9134958B2 (en) 2012-10-22 2015-09-15 Silminds, Inc. Bid to BCD/DPD converters
CN103236844B (zh) * 2013-03-26 2016-06-01 合肥工业大学 一种电子标签编码压缩方法
JP6801003B2 (ja) 2016-01-18 2020-12-16 ウェーヴシフト・エルエルシー 電子ディスプレイの近視発生効果の評価および低減

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB777244A (en) * 1953-01-30 1957-06-19 British Tabulating Mach Co Ltd Improvements in or relating to apparatus for translating a number from a first to a second notation
US3618047A (en) * 1969-12-15 1971-11-02 North American Rockwell System for the compact storage of decimal numbers
US3842414A (en) * 1973-06-18 1974-10-15 Ibm Binary coded decimal conversion apparatus
JPH0644714B2 (ja) * 1985-02-16 1994-06-08 ソニー株式会社 コ−ド変換装置
US4972187A (en) * 1989-06-27 1990-11-20 Digital Equipment Corporation Numeric encoding method and apparatus for neural networks
JP3155499B2 (ja) * 1997-11-26 2001-04-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 光ディスクのビット変換の方法、復調方法および装置
US6011873A (en) * 1998-04-29 2000-01-04 Penware, Inc. Method and apparatus for lossless compression of signature data
US6124811A (en) * 1998-07-02 2000-09-26 Intel Corporation Real time algorithms and architectures for coding images compressed by DWT-based techniques
US6166664A (en) * 1998-08-26 2000-12-26 Intel Corporation Efficient data structure for entropy encoding used in a DWT-based high performance image compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9352417B2 (en) 2002-04-19 2016-05-31 Electro Scientific Industries, Inc. Increasing die strength by etching during or after dicing

Also Published As

Publication number Publication date
EP1231716B1 (en) 2007-11-07
EP1231716A3 (en) 2004-01-14
US6525679B1 (en) 2003-02-25
ATE377867T1 (de) 2007-11-15
JP3588349B2 (ja) 2004-11-10
US6437715B1 (en) 2002-08-20
EP1231716A2 (en) 2002-08-14
DE60131247T2 (de) 2008-08-28
DE60131247D1 (de) 2007-12-20
GB0102154D0 (en) 2001-03-14

Similar Documents

Publication Publication Date Title
JP3588349B2 (ja) 10進数を2進数にエンコード/デコードする方法
US11283464B2 (en) Compression and decompression engines and compressed domain processors
CN111708574B (zh) 指令流压缩、解压缩方法及装置
Zavadskyi Binary-coded ternary number representation in natural language text compression
WO2007108395A1 (ja) 可変長符号の復号装置および復号方法
CN112527951B (zh) 整数数据的存储方法、装置及存储介质
US11362673B2 (en) Entropy agnostic data encoding and decoding
US6573847B1 (en) Multi-table mapping for huffman code decoding
Setia et al. Enhanced LZW algorithm with less compression ratio
CN113315523B (zh) 硬件友好的数据解压缩
CN112738124B (zh) 硬件友好的数据压缩方法、压缩器
JPH0974359A (ja) 誤り訂正復号回路
JPH04280517A (ja) データ圧縮および復元方式
Zavadskyi Lossless text compression by means of binary-coded ternary number representation
JPH08149016A (ja) 文字列の符号化方法
TW201342813A (zh) 資料編碼及解碼方法與裝置
JPH03262331A (ja) データ圧縮方法およびデータ圧縮装置
KR20170142796A (ko) 2진 유니버설 코드의 N진 복합 유니버설 코드로의 encoding 및 decoding방법
JPS58195316A (ja) 符号化方法
JPH07106981A (ja) 可変長符号デコード回路
KR20180000143A (ko) 2진 유니버설 코드의 N진 유니버설 코드로의 encoding 및 decoding방법
Mathur et al. A Novel Approach to Compress and Secure Human Genome Sequence
JPH05218881A (ja) データ圧縮処理方式及びデータ復元処理方式
JPH06149537A (ja) データ圧縮方法及び復元方法
JPH03179520A (ja) データデコーダ

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040416

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040810

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110820

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120820

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees