JP3415569B2 - 10進データ除算方法およびそのプログラム記録媒体 - Google Patents

10進データ除算方法およびそのプログラム記録媒体

Info

Publication number
JP3415569B2
JP3415569B2 JP2000212851A JP2000212851A JP3415569B2 JP 3415569 B2 JP3415569 B2 JP 3415569B2 JP 2000212851 A JP2000212851 A JP 2000212851A JP 2000212851 A JP2000212851 A JP 2000212851A JP 3415569 B2 JP3415569 B2 JP 3415569B2
Authority
JP
Japan
Prior art keywords
quotient
partial
remainder
divisor
dividend
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.)
Expired - Fee Related
Application number
JP2000212851A
Other languages
English (en)
Other versions
JP2002032215A (ja
Inventor
紀代美 窪田
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.)
NEC Software Hokuriku Ltd
Original Assignee
NEC Software Hokuriku Ltd
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 NEC Software Hokuriku Ltd filed Critical NEC Software Hokuriku Ltd
Priority to JP2000212851A priority Critical patent/JP3415569B2/ja
Publication of JP2002032215A publication Critical patent/JP2002032215A/ja
Application granted granted Critical
Publication of JP3415569B2 publication Critical patent/JP3415569B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は10進データ除算方
法およびそのプログラム記録媒体に関し、特に10進デ
ータの除算命令を備えていないコンピュータにおいてソ
フトウェアにより10進データの除算を行う10進デー
タ除算方法およびそのプログラム記録媒体に関する。
【0002】
【従来の技術】10進データの除算命令を持たないハー
ドウェア上でソフトウェアにより10進データの除算を
エミュレーションする方式では、ハードウェアの10進
データの減算命令を繰り返し実行し、繰り返し回数を商
とする。この場合、減算を商の回数繰り返さねばなら
ず、求める商の値によって実行時間のばらつきが生じ
る。
【0003】すなわち、上記の除算方法では1桁の商を
求めるのに最大9回、平均5.4回の減算を必要とする
ので、従来、各種の方法が提案されている。たとえば、
特開平7−239774号公報によれば、予め用意した
除数の整数倍数を減算することにより減算回数を少なく
している。しかしながらこの場合、最も少ない例でも1
桁の商を求めるのに最大3回、平均2.2回の減算を必
要とする。
【0004】
【発明が解決しようとする課題】上記のように、従来の
10進データ除算方法は、一般に除数による減算の回数
を予測することが困難であるので、商を求めるまでの実
行時間に大幅な差異が発生し、これがコンピュータシス
テムの運用時にその性能を発揮できない原因になること
が多い。
【0005】本発明の目的は、上記のような欠点を改善
するために、コンピュータが備えている2進除算命令が
効率よく処理できるように10進データを分割して除算
し、これに伴う補正の回数を最小限にして除算処理を高
速化し実行時間のばらつきが少ない10進データ除算方
法およびそのプログラム記録媒体を提供することにあ
る。
【0006】
【課題を解決するための手段】本発明の10進データ除
算方法は、2進除算命令を使用して10進データの除算
を行うコンピュータの10進データ除算方法において、
被除数および除数を前記2進除算命令で処理可能な桁数
に分割して2進数に変換し、分割した除数の最上位要素
が前記2進除算命令の除数の最大値に近づくように除数
および被除数をn倍し、前記2進除算命令により部分的
な商の近似値および仮の剰余を求め、除数の下位要素を
含めた中間剰余が負になる場合には前記商の近似値およ
び前記中間剰余を補正して部分商を求め、前記中間剰余
を次の被除数として次の部分商を求め、2進データとし
て求めた商を10進データに変換することを特徴とす
る。
【0007】また、本発明の10進データ除算方法は、
2進除算命令を使用して10進データの除算を行うコン
ピュータの10進データ除算方法において、前記コンピ
ュータの整数演算器で扱うことができる10進数の桁数
をK桁とし,被除数および除数をそれぞれ下位桁から順
にK桁ずつに分割してそれぞれを2進数に変換する被除
数コード変換処理および除数コード変換処理と、前記被
除数および前記除数に対する商をK桁ずつに分割した場
合の個数を求める商の要素数算出処理と、分割した除数
の最上位要素が前記2進除算命令の除数の最大値に近づ
くような倍数nを求める倍数n算出処理と、前記被除数
および前記除数をそれぞれn倍する被除数n倍処理およ
び除数n倍処理と、商をK桁ずつに分割した場合の各要
素を部分商とし,前記部分商を得るに要する前記被除数
を部分被除数とし,前記部分被除数および前記除数から
部分商およびその部分剰余を求める部分商/剰余計算処
理と、前記部分商/剰余計算処理を前記商の要素数だけ
繰り返すことを指示する除算終了判定処理と、前記商の
最下位の部分商まで求めたとき各部分商を10進数に変
換する商コード変換処理とを含むことを特徴とする。
【0008】さらに、本発明の10進データ除算方法に
おいて、前記部分商/剰余計算処理は、前記2進除算命
令により部分被除数の上位要素を除数の最上位要素で除
算し商および剰余を得て前記商を仮の部分商とする仮の
部分商計算処理と、前記剰余および前記部分被除数の下
位要素からなる数から前記仮の部分商と前記除数の下位
要素との積を減算し,それを部分剰余とする仮の部分商
による剰余計算処理と、前記部分剰余が正または0なら
ば前記仮の部分商および前記部分剰余を真とし,前記部
分剰余が負ならば前記仮の部分商および前記部分剰余を
偽とする補正判定処理と、この判定結果が偽のとき,前
記仮の部分商から1を減じたものを真の部分商とし,前
記部分剰余に前記除数を加えたものを真の部分剰余とす
る補正処理とを含むことを特徴とする。
【0009】本発明の10進データ除算方法のプログラ
ム記録媒体は、2進除算命令を使用して10進データの
除算を行うコンピュータの10進データ除算方法のプロ
グラム記録媒体において、被除数および除数を前記2進
除算命令で処理可能な桁数に分割して2進数に変換する
ステップと、分割した除数の最上位要素が前記2進除算
命令の除数の最大値に近づくように除数および被除数を
n倍するステップと、前記2進除算命令により部分的な
商の近似値および仮の剰余を求めるステップと、除数の
下位要素を含めた中間剰余が負になる場合には前記商の
近似値および前記中間剰余を補正して部分商を求めるス
テップと、前記中間剰余を次の被除数として次の部分商
を求めるステップと、2進データとして求めた商を10
進データに変換するステップとを含むことを特徴とす
る。
【0010】また、本発明の10進データ除算方法のプ
ログラム記録媒体は、2進除算命令を使用して10進デ
ータの除算を行うコンピュータの10進データ除算方法
のプログラム記録媒体において、前記コンピュータの整
数演算器で扱うことができる10進数の桁数をK桁と
し,被除数および除数をそれぞれ下位桁から順にK桁ず
つに分割してそれぞれを2進数に変換する被除数コード
変換ステップおよび除数コード変換ステップと、前記被
除数および前記除数に対する商をK桁ずつに分割した場
合の個数を求める商の要素数算出ステップと、分割した
除数の最上位要素が前記2進除算命令の除数の最大値に
近づくような倍数nを求める倍数n算出ステップと、前
記被除数および前記除数をそれぞれn倍する被除数n倍
ステップおよび除数n倍ステップと、商をK桁ずつに分
割した場合の各要素を部分商とし,前記部分商を得るに
要する前記被除数を部分被除数とし,前記部分被除数お
よび前記除数から部分商およびその部分剰余を求める部
分商/剰余計算ステップと、前記部分商/剰余計算ステ
ップを前記商の要素数だけ繰り返すことを指示する除算
終了判定ステップと、前記商の最下位の部分商まで求め
たとき各部分商を10進数に変換する商コード変換ステ
ップとを含むことを特徴とする。
【0011】さらに、本発明の10進データ除算方法の
プログラム記録媒体において、前記部分商/剰余計算ス
テップは、前記2進除算命令により部分被除数の上位要
素を除数の最上位要素で除算し商および剰余を得て前記
商を仮の部分商とする仮の部分商計算ステップと、前記
剰余および前記部分被除数の下位要素からなる数から前
記仮の部分商と前記除数の下位要素との積を減算し,そ
れを部分剰余とする仮の部分商による剰余計算ステップ
と、前記部分剰余が正または0ならば前記仮の部分商お
よび前記部分剰余を真とし,前記部分剰余が負ならば前
記仮の部分商および前記部分剰余を偽とする補正判定ス
テップと、この判定結果が偽のとき,前記仮の部分商か
ら1を減じたものを真の部分商とし,前記部分剰余に前
記除数を加えたものを真の部分剰余とする補正ステップ
とを含むことを特徴とする。
【0012】すなわち、本発明によれば、10進データ
の除算命令を持たないハードウェア上でソフトウェアに
よって、被除数と除数をハードウェアの2進除算命令で
処理可能な桁数に分割して2進数に変換し、分割した除
数の最上位要素がハードウェアの2進除算命令の除数の
最大値に近づくように除数と被除数をn倍し、ハードウ
ェアの2進除算命令により部分的な商の近似値と仮の剰
余を求め、除数の下位要素を含めた中間剰余が負になる
場合は近似商と中間剰余を1回補正することにより部分
商を求め、中間剰余を次の被除数として同様に次の部分
商を求め、2進データで得られた商を10進データに変
換することにより、10進データの除算を高速にエミュ
レーションすることができる。
【0013】
【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
【0014】図1は本発明の実施の一形態を示す流れ図
である。同図において、本発明による10進データ除算
方法は、2進除算命令を使用して10進データの除算を
行うコンピュータの10進データ除算方法において、前
記コンピュータの整数演算器で扱うことができる10進
数の桁数をK桁とし,被除数および除数をそれぞれ下位
桁から順にK桁ずつに分割してそれぞれを2進数に変換
する被除数コード変換処理1および除数コード変換処理
2と、前記被除数および前記除数に対する商をK桁ずつ
に分割した場合の個数を求める商の要素数算出処理3
と、分割した除数の最上位要素が前記2進除算命令の除
数の最大値に近づくような倍数nを求める倍数n算出処
理4と、前記被除数および前記除数をそれぞれn倍する
被除数n倍処理5および除数n倍処理6と、商をK桁ず
つに分割した場合の各要素を部分商とし,前記部分商を
得るに要する前記被除数を部分被除数とし,前記部分被
除数および前記除数から部分商およびその部分剰余を求
める部分商/剰余計算処理7と、前記部分商/剰余計算
処理を前記商の要素数だけ繰り返すことを指示する除算
終了判定処理8と、前記商の最下位の部分商まで求めた
とき各部分商を10進数に変換する商コード変換処理9
とを含む。
【0015】なお、上記の部分商/剰余計算処理7は、
前記2進除算命令により部分被除数の上位要素を除数の
最上位要素で除算し商および剰余を得て前記商を仮の部
分商とする仮の部分商計算処理7aと、前記剰余および
前記部分被除数の下位要素からなる数から前記仮の部分
商と前記除数の下位要素との積を減算し,それを部分剰
余とする仮の部分商による剰余計算処理7bと、前記部
分剰余が正または0ならば前記仮の部分商および前記部
分剰余を真とし,前記部分剰余が負ならば前記仮の部分
商および前記部分剰余を偽とする補正判定処理7cと、
この判定結果が偽のとき,前記仮の部分商から1を減じ
たものを真の部分商とし,前記部分剰余に前記除数を加
えたものを真の部分剰余とする補正処理7dとを含む。
【0016】ここで、まず、ハードウェアの整数演算器
で扱うことのできる10進数の桁数を予め決めておき、
これをK桁とする。そして、被除数コード変換処理1
は、被除数を下位桁からK桁ずつに分割し、それぞれを
2進数に変換する。さらに、除数コード変換処理2は、
除数を下位桁からK桁ずつに分割し、それぞれを2進数
に変換する。
【0017】商の要素数算出処理3は、商を10進K桁
分ずつに分割して求める場合の商の要素数を求める。商
の要素数は、「被除数をK桁ずつに分割した要素数−除
数をK桁ずつに分割した要素数+1」となる。なお、商
を10進K桁ずつに分割した個々の要素を「部分商」と
呼ぶ。
【0018】倍数n算出処理4は、桁分割した除数の最
上位要素を、ハードウェアの2進除算命令の除数の最大
値に近づけるような倍数nを求める。
【0019】被除数n倍処理5は、被除数をn倍する。
【0020】除数n倍処理6は、除数をn倍する。
【0021】部分商/剰余計算処理7は、部分商を得る
ために必要な要素数分の被除数を部分被除数とし、「部
分被除数÷除数」を計算し、部分商と部分剰余を得る。
本処理は商の要素数の回数だけ繰り返し実行する。
【0022】まず、仮の部分商計算処理7aは、ハード
ウェアの2進除算命令により、「部分被除数の上位要素
÷除数の最上位要素」を実行し、商と剰余を得て、商を
仮の部分商とする。
【0023】次に、仮の部分商による剰余計算処理7b
は、ハードウェアの2進除算命令を実行して得られた剰
余と部分被除数の下位要素とで表される数から、仮の部
分商と除数の下位要素との積を減算し、結果を仮の部分
商による部分剰余とする。
【0024】次に、補正判定処理7cは、仮の部分商に
よる剰余が正または0ならば真、負ならば偽とする。そ
して、真ならば部分商の補正が必要ないと判断し、仮の
部分商を求める部分商とし、仮の商による部分剰余を求
める部分剰余とし、除算終了判定処理8へ制御を移す。
また、偽ならば仮の部分商の補正が必要と判断し、補正
処理7dへ制御を移す。
【0025】補正処理7dは、仮の部分商から1減算
し、求める部分商とする。また、仮の部分商による剰余
に除数を加算し、求める部分剰余とする。
【0026】除算終了判定処理8は、商の最下位要素を
計算したかどうかを判断し、最下位要素を計算したなら
ばループを終了し、商コード変換処理へ制御を移す。そ
うでなければ、求めた部分剰余と被除数の次の要素を、
新たな部分被除数とし、部分商/剰余計算処理7へ制御
を移す。
【0027】商コード変換処理9は、10進K桁分ずつ
を2進数で表わした部分商をそれぞれ10進数に変換す
る。
【0028】次に、上記の10進データ除算方法の動作
について説明する。
【0029】ここでは、32ビットの符号なし整数と3
2ビットの符号なし整数を乗算し64ビットの積を求め
る2進乗算命令と、64ビットの符号なし整数を32ビ
ットの符号なし整数で除算し32ビットの商と32ビッ
トの剰余を求める2進除算命令を持つ32ビットアーキ
テクチャのハードウェア上で、任意の桁数の10進除算
を行う場合について説明する。なお、簡単のため、特に
被除数が20桁の10進数、除数が10桁の10進数で
ある場合について具体的に説明する。
【0030】また、32ビットで表すことができる10
進数の最大桁数は9桁であるが、ここではK=8桁とす
る。
【0031】図2は被除数コード変換処理1の動作を示
す説明図である。同図において、上記の被除数コード変
換処理1は、端数分が最上位要素になるように、被除数
を上位桁から4桁,8桁,8桁の10進数に分割し、そ
れぞれを2進数に変換し、上位要素から順に{A
[2],A[1],A[0]}とする。
【0032】図3は除数コード変換処理2の動作を示す
説明図である。同図において、上記の除数コード変換処
理2は、端数分が最上位要素になるように、除数を上位
桁から2桁,8桁の10進数に分割し、それぞれを2進
数に変換し、上位要素から順に{B[1],B[0]}
とする。
【0033】図4は商の要素数算出処理の動作を示す説
明図である。同図において、上記の商の要素数算出処理
3は、「被除数の要素数−除数の要素数+1=3−2+
1=2」を商の要素数とする。ここで、求める商を上位
要素から順に{Q[1],Q[0]}とし、Q[1]お
よびQ[0]をそれぞれ部分商と呼ぶ。
【0034】次に、倍数n算出処理4は、ハードウェア
の2進除算命令により「32ビット2進数の最大値7F
FFFFFF÷(B[1]+1)」を実行し、得られた
商を、B[1]を32ビットの正の最大値に近づけるた
めの倍数nとする。
【0035】図5は被除数n倍処理5の動作を示す説明
図である。同図において、上記の被除数n倍処理5は、
まずA[0]×nを実行し、得られた積÷10の8乗を
実行し、商をp1とし、剰余を新たにA[0]とする。
次にA[1]×nを実行し、(得られた積+p1)÷1
0の8乗を実行し、商をp2とし、剰余を新たにA
[1]とする。最後にA[2]×nを実行し、得られた
積+p2をCとし、被除数のn倍を上位要素から順に
{C,A[1],A[0]}とする。最上位要素Cは、
10進8桁ずつに分割せず、64ビット値のままとす
る。
【0036】図6は除数n倍処理6の動作を示す説明図
である。同図において、上記の除数n倍処理6は、まず
B[0]×nを実行し、得られた積÷10の8乗を実行
し、商をq1とし、剰余を新たにB[0]とする。次に
B[1]×nを実行し、得られた積+q1を新たにB
[1]とし、除数のn倍を上位要素から順に、{B
[1],B[0]}とする。最上位要素B[1]は、1
0進8桁を越える7FFFFFFF(32ビット2進数
の最大値)に近い値となる。
【0037】図7は部分商/剰余計算処理7の動作を示
す説明図である。同図において、部分商/剰余計算処理
7は、1回目のとき、部分被除数{C,A[1]}÷除
数{B[1],B[0]}を計算して得た商を部分商Q
[1]、剰余を部分剰余{R1[1],R1[0]}と
する。剰余の要素数は除数の要素数に等しい。部分商Q
[0]および部分剰余{R1[1],R1[0]}の計
算は、次の通りである。
【0038】まず、仮の部分商計算処理7aでは、ハー
ドウェアの2進除算命令により、C÷B[1]を実行
し、商を仮の部分商q、剰余をrとする。
【0039】次に、仮の部分商による剰余計算処理7b
では、{r,A[1]}−(B[0]×q)を計算して
得た結果を、仮の部分商をqとしたときの部分剰余{r
[1],r[0]}(仮の部分剰余)とする。
【0040】次に、補正判定処理7cでは、仮の部分剰
余{r[1],r[0]}が正または0ならば真、負な
らば偽とする。真ならば仮の部分商qを求める部分商Q
[1]とし、仮の部分剰余{r[1],r[0]}を求
める部分剰余{R1[1],R1[0]}とし、除算終
了判定処理8へ制御を移す。偽ならば補正処理7dへ制
御を移す。
【0041】補正処理7dでは、仮の部分商qから1だ
け減算した値を求める部分商Q[1]とし、仮の部分剰
余{r[1],r[0]}+除数{B[1],B
[0]}を計算して得た値を部分剰余{R1[1],R
1[0]}とする。
【0042】次に、除算終了判定処理8は、商の最下位
要素Q[0]を求めたならば真、そうでなければ偽とす
る。ここでは1回目なので偽となり、上記の部分剰余
{R1[1],R1[0]}を64ビットで表し新たに
Cとし、部分商/剰余計算処理7へ制御を移す。
【0043】部分商/剰余計算処理7の2回目の動作
は、1回目と同様に部分被除数{C,A[0]}÷除数
{B[1],B[0]}を計算し、部分商Q[0]およ
び部分剰余{R0[1],R0[0]}を求める。
【0044】その後の除算終了判定処理8は真となり、
部分商を求めるループを終了し、商コード変換処理9に
制御を移す。
【0045】図8は商コード変換処理9の動作を示す説
明図である。同図において、上記の商コード変換処理9
は、商{Q[0],Q[1]}のそれぞれの要素を8桁
の10進数に変換する。ここでは16桁の10進数とな
るが、実際は「被除数20桁÷除数10桁=商11桁」
となるので、上位の5桁は0となる。
【0046】なお、本願による10進データ除算方法は
32ビット以外のアーキテクチャのハードウェアにおい
ても有効であり、ハードウェアが整数演算で扱うビット
数で表すことができる10進数の桁数Kを適切に選ぶこ
とにより同様に実現できる。
【0047】さらに、ハードウェアの2進除算命令で処
理可能なビット数を越える2進データの除算において、
被除数と除数を2進除算命令で処理可能なビット数に分
割し、商を部分商に分割して求める場合、除数の最上位
要素のハードウェアの2進除算命令の除数の最大値に近
づけるような値nで予め除数と被除数をn倍し、それぞ
れの部分商の最大補正回数を1回で済ませることができ
る。
【0048】なお、本願の10進データ除算方法は、処
理装置の主記憶(図示していない。)に保持されたプロ
グラムを実行することによって動作する。また、通常の
運用では、このプログラムをハードディスクなどの二次
記憶に格納しておき、必要の都度これを主記憶にロード
して実行することもできる。
【0049】
【発明の効果】以上、詳細に説明したように、本発明に
よれば次の効果が得られる。
【0050】第一の効果は、10進数を2進数に変換し
ハードウェアの2進除算命令を使用しているので、一度
に求められる部分商の桁数を増やし、除算回数を減少さ
せることができるという効果がある。
【0051】第二の効果は、除数の最上位要素をハード
ウェアの2進除算命令の除数の最大値に近づけるような
値nで予め除数および被除数をn倍しているので、部分
商の最大補正回数を1回で済ますことができるという効
果がある。
【0052】上記の第一および第二の効果により、10
進データの除算処理を高速化し実行時間のばらつきを少
なくし、システムの性能を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態を示す流れ図。
【図2】被除数コード変換処理の動作を示す説明図。
【図3】除数コード変換処理の動作を示す説明図。
【図4】商の要素数算出処理の動作を示す説明図。
【図5】被除数n倍処理の動作を示す説明図。
【図6】除数n倍処理の動作を示す説明図。
【図7】部分商/剰余計算処理の動作を示す説明図。
【図8】商コード変換処理の動作を示す説明図。
【符号の説明】
1 被除数コード変換処理 2 除数コード変換処理 3 商の要素数算出処理 4 倍数n算出処理 5 被除数n倍処理 6 除数n倍処理 7 部分商/剰余計算処理 7a 仮の部分商計算処理 7b 仮の部分商による剰余計算処理 7c 補正判定処理 7d 補正処理 8 除算終了判定処理 9 商コード変換処理

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 2進除算命令を使用して10進データの
    除算を行うコンピュータの10進データ除算方法におい
    て、被除数および除数を前記2進除算命令で処理可能な
    桁数に分割して2進数に変換し、分割した除数の最上位
    要素が前記2進除算命令の除数の最大値に近づくように
    除数および被除数をn倍し、前記2進除算命令により部
    分的な商の近似値および仮の剰余を求め、除数の下位要
    素を含めた中間剰余が負になる場合には前記商の近似値
    および前記中間剰余を補正して部分商を求め、前記中間
    剰余を次の被除数として次の部分商を求め、2進データ
    として求めた商を10進データに変換することを特徴と
    する10進データ除算方法。
  2. 【請求項2】 2進除算命令を使用して10進データの
    除算を行うコンピュータの10進データ除算方法におい
    て、前記コンピュータの整数演算器で扱うことができる
    10進数の桁数をK桁とし,被除数および除数をそれぞ
    れ下位桁から順にK桁ずつに分割してそれぞれを2進数
    に変換する被除数コード変換処理および除数コード変換
    処理と、前記被除数および前記除数に対する商をK桁ず
    つに分割した場合の個数を求める商の要素数算出処理
    と、分割した除数の最上位要素が前記2進除算命令の除
    数の最大値に近づくような倍数nを求める倍数n算出処
    理と、前記被除数および前記除数をそれぞれn倍する被
    除数n倍処理および除数n倍処理と、商をK桁ずつに分
    割した場合の各要素を部分商とし,前記部分商を得るに
    要する前記被除数を部分被除数とし,前記部分被除数お
    よび前記除数から部分商およびその部分剰余を求める部
    分商/剰余計算処理と、前記部分商/剰余計算処理を前
    記商の要素数だけ繰り返すことを指示する除算終了判定
    処理と、前記商の最下位の部分商まで求めたとき各部分
    商を10進数に変換する商コード変換処理とを含むこと
    を特徴とする10進データ除算方法。
  3. 【請求項3】 請求項2記載の10進データ除算方法に
    おいて、前記部分商/剰余計算処理は、前記2進除算命
    令により部分被除数の上位要素を除数の最上位要素で除
    算し商および剰余を得て前記商を仮の部分商とする仮の
    部分商計算処理と、前記剰余および前記部分被除数の下
    位要素からなる数から前記仮の部分商と前記除数の下位
    要素との積を減算し,それを部分剰余とする仮の部分商
    による剰余計算処理と、前記部分剰余が正または0なら
    ば前記仮の部分商および前記部分剰余を真とし,前記部
    分剰余が負ならば前記仮の部分商および前記部分剰余を
    偽とする補正判定処理と、この判定結果が偽のとき,前
    記仮の部分商から1を減じたものを真の部分商とし,前
    記部分剰余に前記除数を加えたものを真の部分剰余とす
    る補正処理とを含むことを特徴とする10進データ除算
    方法。
  4. 【請求項4】 2進除算命令を使用して10進データの
    除算を行うコンピュータの10進データ除算方法のプロ
    グラム記録媒体において、被除数および除数を前記2進
    除算命令で処理可能な桁数に分割して2進数に変換する
    ステップと、分割した除数の最上位要素が前記2進除算
    命令の除数の最大値に近づくように除数および被除数を
    n倍するステップと、前記2進除算命令により部分的な
    商の近似値および仮の剰余を求めるステップと、除数の
    下位要素を含めた中間剰余が負になる場合には前記商の
    近似値および前記中間剰余を補正して部分商を求めるス
    テップと、前記中間剰余を次の被除数として次の部分商
    を求めるステップと、2進データとして求めた商を10
    進データに変換するステップとを含むことを特徴とする
    10進データ除算方法のプログラム記録媒体。
  5. 【請求項5】 2進除算命令を使用して10進データの
    除算を行うコンピュータの10進データ除算方法のプロ
    グラム記録媒体において、前記コンピュータの整数演算
    器で扱うことができる10進数の桁数をK桁とし,被除
    数および除数をそれぞれ下位桁から順にK桁ずつに分割
    してそれぞれを2進数に変換する被除数コード変換ステ
    ップおよび除数コード変換ステップと、前記被除数およ
    び前記除数に対する商をK桁ずつに分割した場合の個数
    を求める商の要素数算出ステップと、分割した除数の最
    上位要素が前記2進除算命令の除数の最大値に近づくよ
    うな倍数nを求める倍数n算出ステップと、前記被除数
    および前記除数をそれぞれn倍する被除数n倍ステップ
    および除数n倍ステップと、商をK桁ずつに分割した場
    合の各要素を部分商とし,前記部分商を得るに要する前
    記被除数を部分被除数とし,前記部分被除数および前記
    除数から部分商およびその部分剰余を求める部分商/剰
    余計算ステップと、前記部分商/剰余計算ステップを前
    記商の要素数だけ繰り返すことを指示する除算終了判定
    ステップと、前記商の最下位の部分商まで求めたとき各
    部分商を10進数に変換する商コード変換ステップとを
    含むことを特徴とする10進データ除算方法のプログラ
    ム記録媒体。
  6. 【請求項6】 請求項5記載の10進データ除算方法の
    プログラム記録媒体において、前記部分商/剰余計算ス
    テップは、前記2進除算命令により部分被除数の上位要
    素を除数の最上位要素で除算し商および剰余を得て前記
    商を仮の部分商とする仮の部分商計算ステップと、前記
    剰余および前記部分被除数の下位要素からなる数から前
    記仮の部分商と前記除数の下位要素との積を減算し,そ
    れを部分剰余とする仮の部分商による剰余計算ステップ
    と、前記部分剰余が正または0ならば前記仮の部分商お
    よび前記部分剰余を真とし,前記部分剰余が負ならば前
    記仮の部分商および前記部分剰余を偽とする補正判定ス
    テップと、この判定結果が偽のとき,前記仮の部分商か
    ら1を減じたものを真の部分商とし,前記部分剰余に前
    記除数を加えたものを真の部分剰余とする補正ステップ
    とを含むことを特徴とする10進データ除算方法のプロ
    グラム記録媒体。
JP2000212851A 2000-07-13 2000-07-13 10進データ除算方法およびそのプログラム記録媒体 Expired - Fee Related JP3415569B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000212851A JP3415569B2 (ja) 2000-07-13 2000-07-13 10進データ除算方法およびそのプログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000212851A JP3415569B2 (ja) 2000-07-13 2000-07-13 10進データ除算方法およびそのプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2002032215A JP2002032215A (ja) 2002-01-31
JP3415569B2 true JP3415569B2 (ja) 2003-06-09

Family

ID=18708699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000212851A Expired - Fee Related JP3415569B2 (ja) 2000-07-13 2000-07-13 10進データ除算方法およびそのプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP3415569B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8475540B2 (en) 2009-08-12 2013-07-02 Sri International Multi-stage system for reaction and melt coalescence and separation
KR102106538B1 (ko) * 2013-10-08 2020-05-04 삼성전자주식회사 수치 연산을 처리하는 장치 및 방법

Also Published As

Publication number Publication date
JP2002032215A (ja) 2002-01-31

Similar Documents

Publication Publication Date Title
US6369725B1 (en) Method for binary to decimal conversion
JP2835153B2 (ja) 高基数除算器
JP3418460B2 (ja) 倍精度除算回路および方法
JP2502836B2 (ja) 除算回路の前処理装置
JP3415569B2 (ja) 10進データ除算方法およびそのプログラム記録媒体
JP2020098469A (ja) 演算処理装置および演算処理装置の制御方法
JP2578482B2 (ja) 浮動小数点演算器
JP2645422B2 (ja) 浮動小数点演算処理装置
JP2753922B2 (ja) 固定小数点除算方法
JPH0831024B2 (ja) 演算プロセッサ
JP2777265B2 (ja) 高基数開平演算装置
JP2664750B2 (ja) 演算装置及び演算処理方法
JP3539077B2 (ja) 並列演算方式による除算方法
JP2004226516A (ja) べき乗剰余演算方法及びそのプログラム
JPH0635678A (ja) 十進除算回路
JP3277220B2 (ja) 剰余乗算装置の演算方法
JPH07160480A (ja) 10進除算器
JPS592055B2 (ja) 開平演算方式
JP3659408B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JPH1083387A (ja) 整数化演算法
JP3230349B2 (ja) 10進乗算器
JPH0553759A (ja) 固定小数点演算ユニツト
JP2708526B2 (ja) 2進整数除算処理方法
JP2607759B2 (ja) 除算器
JPH10285052A (ja) ユークリッド復号法およびユークリッド復号回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030311

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090404

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100404

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees