JPS58189735A - 数値演算装置 - Google Patents

数値演算装置

Info

Publication number
JPS58189735A
JPS58189735A JP57071580A JP7158082A JPS58189735A JP S58189735 A JPS58189735 A JP S58189735A JP 57071580 A JP57071580 A JP 57071580A JP 7158082 A JP7158082 A JP 7158082A JP S58189735 A JPS58189735 A JP S58189735A
Authority
JP
Japan
Prior art keywords
data
circuit
arithmetic
notation
decimal
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.)
Pending
Application number
JP57071580A
Other languages
English (en)
Inventor
Hiroyoshi Kiuchi
木内 啓義
Toshinobu Tanaka
田中 利宜
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP57071580A priority Critical patent/JPS58189735A/ja
Publication of JPS58189735A publication Critical patent/JPS58189735A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • G06F2207/3844Hexadecimal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は電子針算機等における数値計算方法にかかり、
特に各種演算後の異なる記数表示への正確な変換方法に
関する。
近年、マイクロコンピュータ等における数値計算や事務
1算を行う演算装置においては、その内部では2進もし
くは16進演算を行うものが一般的に用いられている。
このような演算装置の演算部にて例えば事務計算を実施
する場合に、10進入力から例えば16進への変換に際
して、或いは2進から例えばIO進へのi1変換に対し
て、M!uが発生し各種演算時にはなはだ不都合を生じ
ていた。すなわち、10進数を2進数或いは16進数で
は正確に表すことができないため、下位桁において丸め
を行っているからである。さらにこの誤差は各種演算回
数に応じて累積してくるため、例えば事務1算等におけ
る累計等の1算においては徐々に誤差が累積してしまい
、ついには丸め桁にまで影響し、正しい出力が得られな
くなってしまう。一般的に浮動小数点の演算誤差αはβ
進法によるt桁の有効数字をもつ場合にはβ=2nとす
ると(n:整数) (11(n−1)捨n人演算ならば α≦Aβ′−2・
・・・・■ (2)切捨て演算ならば α≦β′−2で表され、−回
の演算を行う毎にこの誤差が生じついには表示するため
に丸め出力をする桁にまで波及してしまう。
従って、従来この誤差を補正する方法としては周知の如
き以下の3つの方法が知られている。すなわち、 fl)事務用1算は10進演算にて行う。
(2)演算処理の適当なサイクルで新値を入れ換える。
(31(21をプログラム処理で入れ直す。
しかし、これらの方法はシステムの運用が複雑になり過
ぎる等の欠点を有している。
本発明は上記従来の欠点に鑑み、電子計算機において、
外部表示における記数表示値と内部処理における記数表
示値とが異なる場合に、記数法の変換における誤差を少
なくした数値演算装置を提供することを目的とする。
本発明は演算処理を行う装置において、n進演算を行う
演算回路と、m進データをn進データに記数変換する第
1の記数変換回路と、n進データをm進データに記数変
換する第2の記数変換回路を有し、前記回路の出力を前
記第2の記数変換回路でm進データに変換し、さらに前
記第2の記数変換回路のm進データ出力を前記第1の記
数変換回路によってn進データをm進データに変換する
ことを特徴とした数値演算装置を提供することによって
達成される。
次に本発明の数値演算装置を図面と共に説明する。
第1図は本発明を用いた数値演算装置の一実施例を示す
ブロック図である。
同図において、演算数Aを格納する演算レジスタlと被
演算数Bを格納させる被演算レジスタ2が設けられてお
り、これら演算レジスタlと被演算レジスタ2の内容は
演算回路3に入力されている。そして、この演算回路3
から出力される信号は、第1のゲートであるアンド回路
4と第2のゲートであるアンド回路5のそれぞれ入力に
接続されている。ここで前記第1のアンド回路4は16
進法を10進法へ変換させる第1の記数法変換器6の入
力に接続される。さらに第1の記数法変換器6の出力側
は、前記10進法への変換の際において四捨五入等の補
正処理を実施していわゆる演算誤差を最小限に抑えた後
に再び16進数への変換を行うための第2の記数法変換
器7の入力側へ接続させである。次に第2の記数法変換
器7の出力は、第3のゲートであるオア回路8の入力に
接続されている。また演算回路3の出力と接続されてい
る第2のゲートのアンド回路5の出力側は、前記第3の
ゲートであるオア回路8の入力と接続されである。そし
て第3のゲートであるオア回路8の出力は、上記演算結
果を格納しである演算結果レジスタ9へ入力されている
。さらに演算結果レジスタ9は一ヒ記データを被演算レ
ジスタ2へ出力できるように構成されている。またアン
ド回路4及びアンド回路5の入力側には直接及びインバ
ータ10を介して変更信号11が入力されている。
第2図は本発明を用いた数値演算装置における変更信号
11を発生させるために設けられた回路部についての構
成を説明するブロック図である。
16進数からlO進数さらに四捨五入等により補正処理
されて16進数へ自動変換を停止させるためのフリップ
フロップ回路12には変換停止信号13とセット信号1
4が入力し、また出力側はインハータ15の入力へ接続
されている。そして、前記インバータ15の出力はアン
ド回路16の入力側と接続されている。また変換モード
信号17と印字/表示信号I8とが入力されているオア
回路19の出力は前記アンド回路16の入力と接続して
いる。さらにこのアンド回路16の出力は、変更信号1
1として第1ゲートのアンド回路4とインバータIOの
入力にそれぞれ接続されており、さらに後者のインバー
タ10の出力側は、第2ゲートのアンド回路5の入力と
接続されている。
次に本発明を用いた上記演算装置の動作について、手順
を追って説明する。
(1)外部表示桁数が例えば6桁である演算装置におい
て、演算数Aが演算レジスタlにまた被演算数Bが被演
算レジスタ2に16進法に変換された浮動小数点形式の
データとして入力される。なお、10進数を16進数へ
変換して入力させたため且つ有限の任意の桁数にて例え
ば6桁程度にて表現しであるためにすでにここで変換誤
差αが入り込む余地ができている。
(II)そこで演算レジスタ1にて格納された演算数A
′と被演算レジスタ2にて格納されている被演算数B′
とは、演算回路3へ出力され、演算回路3にて所望の演
算が実施される。この際前記(1)の変換誤差αを含む
数値にて演算を行っているため演算誤差βが発生する。
(1)このとき変更信号11がOFFであると第2のゲ
ートであるアンド回路5を通りさらに第3のゲートのオ
ア回路8を経て演算結果レジスタ9へ格納される。この
場合は前記演算l!I差βに対して何ら補正処理を施し
てない従来での演算である。
しかしながら、変更信号11がONの場合には、演算結
果は第1ゲートであるアンド回路4を通り第1の記数法
変換器6へ入力される。ここで前記16進法での演算結
果Cは10進法での演算結果りに変換される。ここには
演算誤差βが未だ含まれているが、−回の演算によるL
!!!差β1は16進数を10進数に変換した際に有効
数字の桁数が増加して表現されることによって、誤差β
1も10進数に変換した際に必然的にオーダが小さくな
って表現され、従って10進数での丸め桁の範囲内に影
響するような誤差は表れていない。すなわち10進数に
変換したことにより丸め桁の範囲で四捨五入等の補正処
理を実施することによって(外部被桁数では)正しい演
算結果D′を得られる。
(TV)次に前記の四捨五入等の補正処理を実施して得
た10進値での正しい演算結果D′は、第2記数変換記
数7に入力される。ここで10進値での正しい演算結果
D′は再び16進数での内部表現形式Eを取る。なお、
この10進数から16進数への記数法変換によって前記
演算結果は、再び変換誤差α′が入り込んでくるものの
、最初の変換誤差αは第1記数法変換器6によって全く
消滅している。
(V)前記の新しい16進数での内部表現形式Eなるデ
ータは第2記数変換器7から出力されて演算結果レジス
タ9へ入力して次の演算のためのデータとして格納され
る。
(Vl)そして、さらに新たなデータとして被演算レジ
スタへ入力して上記(1)乃至(V)の手順を各演算毎
に繰り返すことになる。
次に本発明の数値演算方式を用いた外部表示桁数が例え
ば6桁であるような演算装置として具体的に数字で説明
する。
例えば、10進数における0、1が演算数A、また10
進数での0.1が被演算数Bとする。そしてこれらを加
法演算処理する場合について考える。なお、これらのデ
ータを16進法にて変換された浮動小数点形式を用いて
実施する。
まず、10進法での演算数Aである0、1を16進法に
変換させ6桁の内部表現で表すと (199999)、、   ・・・・・・・A′同様に
被演算数Bも (199999)、   ・・・・・・・B′となる。
ここで、既に誤差αが入ってきており具体的な10進数
での変換誤差αは 0.1−(1x16  +9x16  +9x16  
+9x16″j + 9 x 16  + 9 x 16  ) −0,
000000074次にB+Aすなわち0.1+  0
.1を16進で加算さすると 199999 +199999 33332 すなわち、16進法での演算結果Cは (333332)、、   ・・・・・・・Cとなり、
これを10進法に変換すると (333332)、6 = 3 X 16  + 3 X 16  + 3 X
 16−’+ 3 x 16  + 3 x 16  
+2 x 16’−〇、19999992B  ・・・
・・・・Dなお、加法演算−回についての10進数にお
ける演算誤差β1は、まず10進数での加法演算結果す
なわち0.2を16進数に変換すると(333333)
、。
となりこれを10進数に戻した場合の数値は(3333
33)、6 = 0.199999987となるためβ
l = 0.199999987−0.1999999
28= 0.000000059  ・・・・・・・β
1次に、正しい演算結果D゛は、16′a法での演算結
果Cを10進法に変換した数値りについての有効数字上
から6桁目の数字を四捨五入する補正処理を施すことに
より得ることができる。すなわち、Dの上から有効数字
6桁目が9であるからD ’−0,199999928
= 0.2  ・・・・D′となって正しい結果D′が
得られる。次に、正しい結果D′は新たな演算用のため
再び16進数に変換された内部表現形式Eは (333333)、6 ・・・・・・・・Eとなり、演
算結果レジスタ10へ入力して格納しておき、演算がさ
らにある場合は被演算レジスタへ入力させて再び同じ手
順にて演算処理がなされる。
以上のような手順より、演算−回終了毎に16進数を1
0進数へ変換して丸め桁にて四捨五入等の補正処理を施
すことによって演算誤差を除去してさらに次の演算のた
めに16進数へ記数法の変換を行って演算結果レジスタ
へ格納させることにより、外部表示桁数の範囲で正しく
表示された演算データを得ることが可能となる。
第1図より明らかなようにアンド回路4をオンにすると
変換がなされ、アンド回路5をオンにすると変換されな
い。すなわち、変更信号11がハイレベルであるなら変
換がなされ、ローレベルであるなら変換されない。
変更信号11がハイレベルになる状態はセント信号14
が入力されてフリップフロップ12がセ・ノド状態であ
る、すなわちインバータ15の出力がハイレベルであり
、さらに印字/表示信号1Bか変換モード信号17のう
ち少なくとも一方がハイレベルのときである。換言する
ならば、フリップフロップ12にセット信号14が入力
されていて、変換モード信号17がハイレベルのときに
は演算のたびに第1.第2の記数法変換器6.7により
四捨五入等の補正処理がなされて、外部表示桁数内にて
正しく演算結果を得ることができる。
印字/表示信号18は演算後の印字或いは表示を伴う実
行の度に変更信号11をハイレベルにする。すなわち、
演算後の印字或いは表示の度に前述の変換処理がなされ
る。
第3図は本発明の他の実施例をしめす。この実施例では
数値データを実際に数値を「文字」として表示させるた
めの文字データに変換している。
同図では本発明の数値演算装置のブロック図である。同
図において演算数A′を格納する演算レジスタ1′と被
演算数B′を格納させる被演算レジスタ2′が設けられ
ており、これら演算レジスタ1′と被演算レジスタ2゛
の出力はそれぞれ演算回路3′の入力側に接続されであ
る。そして、この演算回路3′の出力は数値データー文
字データ変換器20の入力へ接続され、またさらに数値
データー文字データ変換器20の出力は次に設けられて
いる文字データー数値データ変換器21の入力へと接続
されている。そしてこの文字データー数値データ変換器
21の出力は演算結果レジスタ10′の入力と接続され
ている。
あらかしめ例えば10進数を16進数に記数法変換がな
された浮動小数点形式でのデータすなわち演算数aと被
演算数すとは各々演算レジスタ1′と被演算レジスタ2
′へ人力される。なお、ここで10進数を16進数へ変
換して入力させたために、且つ丸め桁程度に表現させで
あるために既に換算感差γは発生することが予想されて
いる。
次に、演算レジスタ1′にて格納された演算数aと被演
算レジスタ2′にて格納されている被演算数すとは、演
算回路3′へ出力され演算回路3゛にて所望の演算が実
施される。この際前記丸め桁程度での記数法変換による
表現のため発生する変換誤差Tを含んだ16進にて各種
演算が実施されるためにさらに演算誤差δも発生してく
る。
次にこの演算誤差γを含んだ演算結果Hは、数値データ
ー文字データ変換器20に入力されて数値データI(1
6進数)から文字データJに変換される。換言すれば、
16進法でのデータが10進法でのデータに記数法上で
の変換がなされることであり、この時点での文字データ
Jには一回の演算誤差δだけが含まれている。従ってこ
こで文字データJの変換に際して丸め桁の範囲にて10
進数にて補正処理例えば四捨五入を行うとき、16進数
を10進数への変換に際して桁数が増加しているために
数値データIの下位で生じる変換誤差δは丸め桁の範囲
内でlθ進数にて四捨五入等の補正処理をなした後の1
0進数での文字データJには演算誤差δが除去される。
次に前記数値データー文字データ変換器20にて得られ
た演算誤差δを含まない文字データJは毎回の演算毎に
この10進数での補正処理を実行するために演算のでき
るような数値データに再び変換する。すなわち、10進
数での演算誤差δを含まない文字データJを再び16進
数に変換するため、数値デーグー文字データ変換器20
にて得られた文字データJは文字データー数値データ変
換器21へ出力されて、文字データー数値データ変換器
21にて16進数での数値データにへ変換されて演算結
果レジスタ10′へ出力される。
なお、文字データー数値データ変換器21によって再度
16進法へ変換された数値データには、16進数への変
換の際の丸め桁程度の表現において発生する変換誤差γ
′が発生しているのみで、あたかもキー人力したデータ
と同様に丸められて元の計にもどるだけの変換をするこ
とによって演算誤差は削除されてしまう。
前述の実施例の説明では10進、 16進データを用い
て説明したが、これは他の記数を用いても可能である。
以上、詳述した如く、本発明の装置を用いることによっ
て浮動小数点形式のデータを繰り返し演算しても累積誤
差を気にすることもなく10進数での演算と同様に扱う
ことができ、さらに10進法演算では得ることが不可能
な16進数での高速演算が可能となる。
【図面の簡単な説明】
第1図は本発明の数値演算方式を用いた一実施例を示す
ブロック図である。第2図は数値演算装置における変更
信号発生回路のブロック図である。 第3図は本発明の他の実施例を説明するブロック図であ
る。 1.1′・・・演算レジスタ、  2.2′・・・被演
算レジスタ、 3・・・、演算回路、 4・・・第1ゲ
ート用アンド回路、 5・・・第2ゲート用アンド回路
、  6・・・16進→10進変換器、7・・・10進
−16進変換器、  8・・・第3ゲート用オア回路、
  12・・・フリップフロップ、13・・・変換停止
信号、 20・・・数値データー文字データ変換器、 
21・・・文字データー数値データ変換器。 特許出願人   カシオ針算機株式会社代理人弁理士 
 大 菅 義 之

Claims (4)

    【特許請求の範囲】
  1. (1)演算処理を行う装置において、n進演算を行う演
    算回路と、m進データをn進データに記数変換する第1
    の記数変換回路と、n進データをm進データに記数変換
    する第2の記数変換回路とを有し、前記演算回路の出力
    を前記第2の記数変換回路でm進データに変換し、さら
    に前記第2の記数変換回路のm進データ出力を前記第1
    の記数変換回路によってn進データをm進データに変換
    することを特徴とした数値演算装置。
  2. (2)前記第1の記数変換回路は10進データを16進
    データに記数変換し、前記第2の記数変換回路は16進
    データを10進データに変換することを特徴とする特許
    請求の範囲第1項記載の数値演算回路。
  3. (3)前記データはm進の文字表示データであることを
    特徴とする特許請求の範囲第1項記載の数値演算装置。
  4. (4)演算処理を行う装置において、n進演算を行う演
    算回路と、m進データをn進データに記数変換する第1
    の記数変換回路と、n進データをm進データに記数変換
    する第2の記数変換回路と切換え回路とよりなり、前記
    切換え回路が変換処理を選択している場合には前記演算
    回路の出力を前記第2の記数変換回路によってm進変換
    し、さらに前記第1の記数変換回路によってn進データ
    に変換して出力し、前記切換え回路が変換処理を選択し
    ていない場合には演算回路の出力をそのまま出力するこ
    とを特徴とした数値演算装置。
JP57071580A 1982-04-30 1982-04-30 数値演算装置 Pending JPS58189735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57071580A JPS58189735A (ja) 1982-04-30 1982-04-30 数値演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57071580A JPS58189735A (ja) 1982-04-30 1982-04-30 数値演算装置

Publications (1)

Publication Number Publication Date
JPS58189735A true JPS58189735A (ja) 1983-11-05

Family

ID=13464772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57071580A Pending JPS58189735A (ja) 1982-04-30 1982-04-30 数値演算装置

Country Status (1)

Country Link
JP (1) JPS58189735A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4970551A (ja) * 1972-11-08 1974-07-08

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4970551A (ja) * 1972-11-08 1974-07-08

Similar Documents

Publication Publication Date Title
JPH0612229A (ja) 乗累算回路
KR950006580B1 (ko) 나눗셈연산장치
US3855459A (en) Apparatus for converting data into the same units
JP2502836B2 (ja) 除算回路の前処理装置
GB1579100A (en) Digital arithmetic method and means
US5703802A (en) Method and apparatus for automatically designing logic circuit, and multiplier
US4935890A (en) Format converting circuit for numeric data
JPS58189735A (ja) 数値演算装置
JPH0831029B2 (ja) 除算用近似逆数生成装置
CA1173164A (en) Fraction calculator
US5751623A (en) Digital computer for adding and subtracting
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
US5912831A (en) Process and system for adding or substracting symbols in any base without converting to a common base
JPS592055B2 (ja) 開平演算方式
JPS6126135A (ja) 浮動小数点デ−タ変換回路
JPH0381175B2 (ja)
JPS59197936A (ja) デイジタル信号処理方式
JPS63254525A (ja) 除算装置
JPH0628153A (ja) 低誤差計算処理装置
JPS58178459A (ja) 単位換算機能付小型電子式計算機
JP3104569B2 (ja) 除算回路
JPS6127772B2 (ja)
JPH03288927A (ja) 平方根演算装置
JP2575856B2 (ja) 演算回路
JPS6226538A (ja) 除算器