JPS5854445A - 2進デ−タの桁合せ方法 - Google Patents
2進デ−タの桁合せ方法Info
- Publication number
- JPS5854445A JPS5854445A JP56153169A JP15316981A JPS5854445A JP S5854445 A JPS5854445 A JP S5854445A JP 56153169 A JP56153169 A JP 56153169A JP 15316981 A JP15316981 A JP 15316981A JP S5854445 A JPS5854445 A JP S5854445A
- Authority
- JP
- Japan
- Prior art keywords
- digits
- digit
- multiplication
- data
- matching
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、加減算などで必1!&2過データの桁合せ方
法に関する。
法に関する。
加減算を行なうに紘加減数と被加減数の桁合せをする必
要があシ、これKは小数点を左または右へ移動させるが
、コンピュータで10進数の2道データの小数点を1桁
右にシフトすること#i10を乗算すること、1桁左ヘ
シフトすること社10で除算すること、そして鳳桁右、
左へシフトすることaloの乗、除算を11回行なうこ
とである。
要があシ、これKは小数点を左または右へ移動させるが
、コンピュータで10進数の2道データの小数点を1桁
右にシフトすること#i10を乗算すること、1桁左ヘ
シフトすること社10で除算すること、そして鳳桁右、
左へシフトすることaloの乗、除算を11回行なうこ
とである。
これはnが小さい場合は格別困−は生じないが、烏が大
になると乗算金管、除算命令とも処理スピードが遅いた
め間層が生じる。本発明は特に鳳が大なる場合の桁合せ
の仕方を変えて乗算命令、除算命令の適用回数を減らし
、桁合せのl&環速度を向上させようとするものである
。即ち本発明は2進データを4ビツトずつに区切って各
ブロックを16進数で表わしたデータの桁合せ方法にお
いて、桁合せの桁数をnとして判定中Rによ)1く4か
をチェックさせ、否なら框乗、除算手段によ111記デ
ータに10000を兼、除算しかつ減算手段により1−
4を求め、減算結果が4よ)小になる迄前記釆、除算を
反復させ、n < 4のときまえ社前記減!結果が4よ
)小になう九ときその桁合せの桁数1.2.5に応シテ
乗、除数10,100,100Gを発生する手段により
、前記乗、除算手段に腋乗、除数O乗、除算を前記デー
タに対して行なわせることをlI黴とするが、次に実施
例についてこれを説−する。
になると乗算金管、除算命令とも処理スピードが遅いた
め間層が生じる。本発明は特に鳳が大なる場合の桁合せ
の仕方を変えて乗算命令、除算命令の適用回数を減らし
、桁合せのl&環速度を向上させようとするものである
。即ち本発明は2進データを4ビツトずつに区切って各
ブロックを16進数で表わしたデータの桁合せ方法にお
いて、桁合せの桁数をnとして判定中Rによ)1く4か
をチェックさせ、否なら框乗、除算手段によ111記デ
ータに10000を兼、除算しかつ減算手段により1−
4を求め、減算結果が4よ)小になる迄前記釆、除算を
反復させ、n < 4のときまえ社前記減!結果が4よ
)小になう九ときその桁合せの桁数1.2.5に応シテ
乗、除数10,100,100Gを発生する手段により
、前記乗、除算手段に腋乗、除数O乗、除算を前記デー
タに対して行なわせることをlI黴とするが、次に実施
例についてこれを説−する。
今2進データを10進数で表わしえある桁の数を9で代
表すると、桁合せとは次のようなものと言える。
表すると、桁合せとは次のようなものと言える。
ム:99.999→99. ? ? ? ?B: 99
.9??9→99. ? ? ?例ム祉小数点以下の桁
数を1指圧へ桁合せした例であ)、基数のI&gIの乗
算でl&理される。例Bd小航点以下の桁数を1桁右へ
桁合せし丸角で、基数01回の除算で処理される。今考
察対象のコンビ為−夕で俄うデータO桁1ILd1B桁
であシ、その中のいずれかに小数点があるとすると、桁
合せの最大は17桁となる0これ紘 17個 で表わせる。左辺拡小数点が18桁の右端にある状態、
右辺社小数点が同左端にある状態を示す0本方法では2
道データは4ビツトずつに区切って16道で表わされ、
次のように−なる。
.9??9→99. ? ? ?例ム祉小数点以下の桁
数を1指圧へ桁合せした例であ)、基数のI&gIの乗
算でl&理される。例Bd小航点以下の桁数を1桁右へ
桁合せし丸角で、基数01回の除算で処理される。今考
察対象のコンビ為−夕で俄うデータO桁1ILd1B桁
であシ、その中のいずれかに小数点があるとすると、桁
合せの最大は17桁となる0これ紘 17個 で表わせる。左辺拡小数点が18桁の右端にある状態、
右辺社小数点が同左端にある状態を示す0本方法では2
道データは4ビツトずつに区切って16道で表わされ、
次のように−なる。
1G=OA 、 100=64 、 1000=
3E8こ\で左辺雌10進数、右辺はそれに対応する1
6進数を示す。そこで本方法で紘定義した10進数の桁
数に対し次のようなバイト数で領域を割当てる。
3E8こ\で左辺雌10進数、右辺はそれに対応する1
6進数を示す。そこで本方法で紘定義した10進数の桁
数に対し次のようなバイト数で領域を割当てる。
1〜4桁=2バイト
5〜9桁=4バイト
10〜18桁=8バイト
そしてデータに対する小数点位置は、領域上では意識し
ない。従って1a00と1000と拡開−の値518と
なる。正規化した浮動小数点法ではこのようなことはな
く、任意の実数は仮数部と指数部で示され、仮数部は常
に小数点第1位から始まる数であって絨実赦が持つ実際
の小数点位置を指数部が示す。この点が本方法の方式と
は異なる所で69、そして本方法で社、例えば上記の例
の1α00と1000とを加算する場合は1000を1
00[LOGとして加算する(小数点は意識していない
から100000と1000の加S)ことになる。
ない。従って1a00と1000と拡開−の値518と
なる。正規化した浮動小数点法ではこのようなことはな
く、任意の実数は仮数部と指数部で示され、仮数部は常
に小数点第1位から始まる数であって絨実赦が持つ実際
の小数点位置を指数部が示す。この点が本方法の方式と
は異なる所で69、そして本方法で社、例えば上記の例
の1α00と1000とを加算する場合は1000を1
00[LOGとして加算する(小数点は意識していない
から100000と1000の加S)ことになる。
この1000を100a00にする操作が桁合せである
。なお本方法では領域上のデータは低アドレスよ)高ア
ドレスに向って大きい値となる。例えd10道敏の12
3456789は本方法の16進では、o7smcD1
gであるが(これは10進数を2進数に変換し、それを
右つまシ最小桁から4ビツトずつに区切りで各々を16
進数で示しえもの)、メモリ領域上では 15eD5BO7 となシ(左側が低アドレス、右側が高アドレス)、各2
桁に1バイトが割尚てられる。
。なお本方法では領域上のデータは低アドレスよ)高ア
ドレスに向って大きい値となる。例えd10道敏の12
3456789は本方法の16進では、o7smcD1
gであるが(これは10進数を2進数に変換し、それを
右つまシ最小桁から4ビツトずつに区切りで各々を16
進数で示しえもの)、メモリ領域上では 15eD5BO7 となシ(左側が低アドレス、右側が高アドレス)、各2
桁に1バイトが割尚てられる。
本発明で紘、桁合せ紘次の要領で行なう。桁合せO桁@
mが4以下か、それよシ大かに分け、次の如くする0
゛ (1)n≦4のとき n=1なら 1oで乗Sまたは除算 m = 2なら 100で 1=5なら 1000で U 鳳=4なら 1000Gで I (2)1〉4のとき ■nから4を引く ■1ooooで乗算また社除算を1回行なう■4を引い
た庵のが4よ)大なら、そうでなくなるりま9上記(1
)の条件になるまで■、■をm夛返す ■前記(1)の条件になったら(1)と同様の処理をす
る この方法によると最大桁合せamが17のとき乗、除算
状20回で済み、1oの乗、除算を繰シ返す場合に比べ
、て一般に115に激減する。
mが4以下か、それよシ大かに分け、次の如くする0
゛ (1)n≦4のとき n=1なら 1oで乗Sまたは除算 m = 2なら 100で 1=5なら 1000で U 鳳=4なら 1000Gで I (2)1〉4のとき ■nから4を引く ■1ooooで乗算また社除算を1回行なう■4を引い
た庵のが4よ)大なら、そうでなくなるりま9上記(1
)の条件になるまで■、■をm夛返す ■前記(1)の条件になったら(1)と同様の処理をす
る この方法によると最大桁合せamが17のとき乗、除算
状20回で済み、1oの乗、除算を繰シ返す場合に比べ
、て一般に115に激減する。
図面はこの処理フローを示す。図示のように先ず桁合せ
の桁数鳳をレジスタにロードし、次に乗算か除算かを決
める。これは受は側の小数点部の長さLlから送J)1
mの小数点部の長さ−を引き、その結果ノL=L、−L
、の正、負にょj定まる。例えば本感層で次のように受
は側領域の定義をし九とすると、 PIC9,9 これは整数−が1桁、小数部が1桁であることを示して
おシ、従ってこれに数tOをロードするに紘桁合せは不
要であるが(Lx = Ls 、従ってjL=0)、数
1をロードする場合は乗算を1回する必要があり、これ
はノL=1−0=1によシ決定される。乗算か除算かの
判定結果が乗算となれは、次は桁数1の入った前記レジ
スタの値を−べ、0でなければ(最初は轟然Oでない)
、s*<4かをチェックする。NOならn−4を行ない
、乗数1000Gを乗算器のレジスタにセットし、ま九
被乗数(桁合せすべ自数)を乗算器の他方のレジスタに
ロードし、乗算を行ない、結果の一時退避および上位デ
ータへの加算(これらはdkg上9に対感するもの)を
行ない、か\る操作を前述のバイト数(定義し九桁数に
対するパイ) @ 2 、”’4” 、 8・・・・・
・)の半分の回数の乗算が終了するまで行なう(これは
前述の領域1111#Aてで2バイトずつJ6JIKな
ることに由来するもので、要は10000を乗算すると
いうこと)0該終了で結果をセットし、桁#1iLc)
入りたレジスーの値を一4L、、1に−4が0がをチェ
ックする。0なら桁合せ終了ENDであ)、oでなけれ
ば4よシ小かをチェックし、NOなら上記操作を繰〉返
すが、Yli:8なら残)桁数が1か2が3かをチェッ
クし、1なら乗数を10,2なら乗数を100.5なら
乗数を1000として上記乗算を行なう。
の桁数鳳をレジスタにロードし、次に乗算か除算かを決
める。これは受は側の小数点部の長さLlから送J)1
mの小数点部の長さ−を引き、その結果ノL=L、−L
、の正、負にょj定まる。例えば本感層で次のように受
は側領域の定義をし九とすると、 PIC9,9 これは整数−が1桁、小数部が1桁であることを示して
おシ、従ってこれに数tOをロードするに紘桁合せは不
要であるが(Lx = Ls 、従ってjL=0)、数
1をロードする場合は乗算を1回する必要があり、これ
はノL=1−0=1によシ決定される。乗算か除算かの
判定結果が乗算となれは、次は桁数1の入った前記レジ
スタの値を−べ、0でなければ(最初は轟然Oでない)
、s*<4かをチェックする。NOならn−4を行ない
、乗数1000Gを乗算器のレジスタにセットし、ま九
被乗数(桁合せすべ自数)を乗算器の他方のレジスタに
ロードし、乗算を行ない、結果の一時退避および上位デ
ータへの加算(これらはdkg上9に対感するもの)を
行ない、か\る操作を前述のバイト数(定義し九桁数に
対するパイ) @ 2 、”’4” 、 8・・・・・
・)の半分の回数の乗算が終了するまで行なう(これは
前述の領域1111#Aてで2バイトずつJ6JIKな
ることに由来するもので、要は10000を乗算すると
いうこと)0該終了で結果をセットし、桁#1iLc)
入りたレジスーの値を一4L、、1に−4が0がをチェ
ックする。0なら桁合せ終了ENDであ)、oでなけれ
ば4よシ小かをチェックし、NOなら上記操作を繰〉返
すが、Yli:8なら残)桁数が1か2が3かをチェッ
クし、1なら乗数を10,2なら乗数を100.5なら
乗数を1000として上記乗算を行なう。
除算の場合は図面右側のフローへとぶが、これは乗算の
場合とはソ同様である。なお桁合せの処理を、烏=4を
境にして分ける理由は次の如くである。即ち本方法内で
使用できる命令の基本バイトIIka2バイトで69.
2バイトで表わされる最大値a45535 (10道)
である。100m乗で45535に一番近い値線100
00.っまシ10’である。この値からEl = 4が
最適値となる。バイト数が変る場合扛それに応じてva
t変れによい。
場合とはソ同様である。なお桁合せの処理を、烏=4を
境にして分ける理由は次の如くである。即ち本方法内で
使用できる命令の基本バイトIIka2バイトで69.
2バイトで表わされる最大値a45535 (10道)
である。100m乗で45535に一番近い値線100
00.っまシ10’である。この値からEl = 4が
最適値となる。バイト数が変る場合扛それに応じてva
t変れによい。
以上説明したように本発明によれば2進データ′の桁合
せを従来法の115の乗、刹算回数で実行でき、甚だ有
効である。
せを従来法の115の乗、刹算回数で実行でき、甚だ有
効である。
図面は本発明を説明するフローチャートである。
出願人 富士通株式会社
代壇人弁理士 青 柳 稔
Claims (1)
- 【特許請求の範囲】 2過データを4ビツトずつに区切って各ブロックを16
進数で表わしたデータの桁合せ方法において、 桁合せの桁数を論として判定手段により龍<4かをチェ
ックさせ、否ならば乗、除算手段により前記データK1
00OOを乗、除算しかつ減算手段によi!Jn −4
を求め、減算結果が41妙小になる迄曽紀乗、除算を反
復させ、 m (4のときまた紘帥記減算結果が4よ抄小になった
ときその桁幸せの桁数1.2.5に応じて乗、除910
,100.1000を発生する手段にニジ、前記末、除
算手段に諌乗、除数の乗、除算を*記データに対して行
なわせることを善黴表する2進データの桁合せ方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56153169A JPS5854445A (ja) | 1981-09-28 | 1981-09-28 | 2進デ−タの桁合せ方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56153169A JPS5854445A (ja) | 1981-09-28 | 1981-09-28 | 2進デ−タの桁合せ方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5854445A true JPS5854445A (ja) | 1983-03-31 |
| JPH0479012B2 JPH0479012B2 (ja) | 1992-12-14 |
Family
ID=15556556
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56153169A Granted JPS5854445A (ja) | 1981-09-28 | 1981-09-28 | 2進デ−タの桁合せ方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5854445A (ja) |
-
1981
- 1981-09-28 JP JP56153169A patent/JPS5854445A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0479012B2 (ja) | 1992-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3828175A (en) | Method and apparatus for division employing table-lookup and functional iteration | |
| JPH01125626A (ja) | 逆数計算方法 | |
| US5184318A (en) | Rectangular array signed digit multiplier | |
| JP2618374B2 (ja) | 最上位の数字の位置の検出 | |
| JPS6244292B2 (ja) | ||
| US5144576A (en) | Signed digit multiplier | |
| US6912559B1 (en) | System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit | |
| US4823300A (en) | Performing binary multiplication using minimal path algorithm | |
| JPH09146924A (ja) | 演算方法、演算装置及びマイクロプロセッサ | |
| JPH01302425A (ja) | 浮動小数点加減算回路 | |
| JPH0346024A (ja) | 浮動小数点演算器 | |
| EP0268123B1 (en) | Processor for the calculation of transcendental functions | |
| US5715187A (en) | Method and apparatus for integer multiplication | |
| JP3538512B2 (ja) | データ変換装置 | |
| JPH0283728A (ja) | 浮動小数点乗算装置 | |
| JPS58119045A (ja) | 高速固定数演算回路 | |
| JPH0251732A (ja) | 浮動小数点演算器 | |
| JP3201097B2 (ja) | 乗算器における乗算処方方法 | |
| JPS59136849A (ja) | 除算装置 | |
| JPH0479012B2 (ja) | ||
| JPS6259828B2 (ja) | ||
| JP2675087B2 (ja) | マイクロコンピュータ | |
| JPS60246437A (ja) | 除算回路 | |
| JP3068640B2 (ja) | 計算装置 | |
| JPS63254525A (ja) | 除算装置 |