JP2974683B2 - 数値データ管理処理方式 - Google Patents

数値データ管理処理方式

Info

Publication number
JP2974683B2
JP2974683B2 JP63258745A JP25874588A JP2974683B2 JP 2974683 B2 JP2974683 B2 JP 2974683B2 JP 63258745 A JP63258745 A JP 63258745A JP 25874588 A JP25874588 A JP 25874588A JP 2974683 B2 JP2974683 B2 JP 2974683B2
Authority
JP
Japan
Prior art keywords
input
numerical data
digits
format
numerical
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
JP63258745A
Other languages
English (en)
Other versions
JPH02105927A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63258745A priority Critical patent/JP2974683B2/ja
Publication of JPH02105927A publication Critical patent/JPH02105927A/ja
Application granted granted Critical
Publication of JP2974683B2 publication Critical patent/JP2974683B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】 〔概要〕 ビット列による実数の数値データを扱う計算機システ
ムにおける数値データ管理処理方式に関し, 計算機で扱う数値データの入出力および実数計算に伴
う誤差の発生を少なくする手段を提供することを目的と
し, 数値データに関する意味のある桁の範囲を示す有効桁
情報を記憶する有効桁記憶部と,入力した数値データに
ついて,上記有効桁情報に従って桁の調整を行い,数値
データを整数化した実数表現による内部フォーマットに
変換する内部フォーマット変換処理部と,数値データの
出力にあたって,上記有効桁情報に従って桁の調整を行
い,内部フォーマットによる実数表現を,入出力用デー
タ形式である外部フォーマットに変換する外部フォーマ
ット変換処理部とを備え,数値計算を,整数化した実数
表現による内部フォーマットで実行するように構成す
る。
〔産業上の利用分野〕
本発明は,ビット列による実数の数値データを扱う計
算機システムにおける数値データ管理処理方式に関す
る。
例えば,三次元物体を扱うソリッドモデル処理システ
ム等においては,線や面等の形状に関するデータを,浮
動小数点形式の実数で管理し,実数による数値計算を,
頻繁に実行する。このようなシステムでは,入力数値に
関する制限をできるだけなくし,かつ計算などによる誤
差をできるだけ発生させないようにすることが必要とさ
れる。
〔従来の技術〕
第4図は計算機システムにおける実数の内部表現例,
第5図は従来方式の例を示す。
計算機システムで数値を表す場合,一般に小数点の位
置が固定している固定小数点形式と,小数点の位置が数
値によって異なる浮動小数点形式が用いられている。浮
動小数点形式で実数を表す場合,例えば第4図に示すよ
うに,符号部sと指数部eと仮数部mからなるビット列
で表現する。この浮動小数点形式でデータを管理する場
合,必要に応じて,仮数部mの最上位桁が1になるよう
に,指数部eの調整を行い,正規化された形式で管理す
ることもある。
例えばCADシステム等のように,数値データの入出力
を行い,ある程度の桁数の保証の中で精度を要求される
応用分野を扱う計算機システムにおいて,実数の数値デ
ータを記憶し,利用する方式として,従来,次のような
方式があった。
(a) 入力値をそのまま実数値として管理する方式。
この方式では,入力値を,例えばFORTRANで扱うREAL
×8バイトというような実数表現で記憶し,その実数値
で計算する。一般に,CADシステム等では,この方式が多
く用いられている。
[長所]この方式(a)の長所は,ユーザの入力値に対
する実質的な制限がないことである。
[短所]この方式(a)の短所は,入力の数値が,入力
された時点で既に誤差を含んでいることである。
例えば,実数0.1の内部表現は,FORTRAN等におけるREA
L×8バイト表現では,‘401999999999999A'hex(16進
表現)となる。これは,0.1という数値の近似値であり,
既に誤差を含んだものである。この状態は,ユーザが数
値を入力した時点で起きるので,ユーザが直接入力した
値でさえ,近似値で扱うことになり,場合によっては計
算誤差が大きくなることもある。
(b) 入力値をすべて有理数で表現する方式。
この方式では,内部で数値をすべて有理数で表現す
る。従って,無理数が入力された場合には,内部データ
は近似値となるが,有理数の分母・分子が4バイトの整
数でも,それほど問題はない。しかし,計算誤差を発生
させないために,計算をすべて有理数の形で行うことに
なるので,計算に伴って,分母・分子の桁数が増大する
という問題がある。今,X=a/b Y=c/dとし,これらの
加算・乗算を行うと,結果は, X+Y=(a*d+b*c)/(b*d) X*Y=(a*c)/(b*d) となり,これらの分母・分子を個別に記憶することが困
難になる。
[長所]この方式(b)の長所は,ユーザの入力数値に
対する実質的な制限はないことである。
[短所]この方式(b)の短所は,分母・分子の桁数が
大きくなり過ぎ,現在の計算機では実現が不可能に近い
ことである。
(c) 内部で扱える整数の最大桁数から入力の値の桁
数を制限する方式。
この方式では,あらかじめシステムの内部で扱う最大
の桁数を求めて,それに合わせて入力の桁数を制限す
る。例えば,多面体だけを扱うソリットCADシステムの
場合,計算としては,直線と直線・直線と平面・平面と
平面の計算が必要になる。それぞれ計算式を求めると,
方向ベクトルと座標値の方程式になる。ここで,それら
の方程式から解を求めるときに必要な式が,すべて4バ
イトの整数で表現できれば,全く誤差が発生しないこと
になる。この考え方は,内部で出てくる式から,逆に入
力桁を制限することにより,誤差を発生させないように
するものである。(参考文献:「計算誤差による暴走の
心配のないソリッドモデラの提案」杉原,伊理,昭和61
年11月,グラフィックスとCAD・シンポジウム,P19〜P2
6) [長所]この方式(c)の長所は,入力数値の制限が可
能であれば,誤差は発生しないことである。
[短所]この方式(c)の短所は,入力数値の制限があ
まりにもきつく,現在の計算機で扱える整数と,ユーザ
が必要な桁数を考えると,入力の桁数が3〜4桁程度に
なってしまい,実用上使えない場合が多いことである。
第5図は,以上の従来方式(a),(b),(c)に
よる計算例を示している。
第5図(イ)は,上記従来方式(a)の例である。こ
の方式では,実数として入力した‘911.55215'および
‘248.53215'を,実数表現で記憶する時点で,既に誤差
を含んでいることになる。
第5図(ロ)は,上記従来方式(b)の例である。シ
ステムで使う数値の最大の桁数を,例えば4バイトで表
現することができる10桁とする。この方式では,完全に
誤差なしで計算するためには,分母・分子を各々整数と
して扱うことができなければならない。また,この数値
を次の入力に使用すると,この桁数分の乗数ができるだ
けの整数を扱う必要がある。従って,桁数が不足してく
ることになる。
第5図(ハ)は,上記従来方式(c)の例である。シ
ステムで使う数値の最大の桁数を10桁とする。入力で
は,桁数制限をした整数,例えば‘91155',‘24853'を
入力する。この乗算結果は,‘2265475215'となるが,
この数値の桁数が最大であり,これ以上の桁となる計算
はできなくなる。この例では,5桁の値を入力している
が,CADシステム等で使用する場合には,使用できる桁数
がもっと少なくなることになる。
〔発明が解決しようとする課題〕
以上のように,従来方式によれば,入力値の制限がき
つくなったり,また,入力した時点で誤差が発生すると
いう問題があった。
本発明は上記問題点の解決を図り,入力値の実質的な
制限をなくし,かつ計算機で扱う数値データの入出力お
よび実数計算に伴う誤差の発生を少なくする手段を提供
することを目的としている。
〔課題を解決するための手段〕
第1図は本発明の構成例を示す。
第1図において,10はキーボードやディスプレイ等の
入出力装置,11はCPUおよびメモリを備えた計算機,12は
入出力装置10に対する入出力の制御を行う入出力制御
部,13はユーザにとって意味のある桁の範囲を指定させ
る有効桁指定入力部,14は有効桁に関する情報を記憶す
る有効桁記憶部,15は入力した数値データを内部フォー
マットに変換する内部フォーマット変換処理部,16は出
力する数値データを外部フォーマットに変換する外部フ
ォーマット変換処理部,17は数値データを内部フォーマ
ットにより記憶する数値データ記憶部,18は内部フォー
マットで表された数値計算を行う計算処理部を表す。
有効桁指定入力部13は,入出力装置10から,入出力制
御部12を介して,ユーザにとって意味のある桁の範囲を
指定する有効桁情報を入力し,それを有効桁記憶部14に
記憶する。この有効桁情報は,整数部分が何桁,小数点
以下の部分が何桁というような情報でもよく,また有効
最小桁が小数点第何桁というような情報でもよい。
内部フォーマット変換処理部15は,入出力制御部12を
介して入力した数値データについて,有効桁記憶部14に
記憶している有効桁情報に従って,桁の調整を行い,数
値データを整数化した実数表現による内部フォーマット
に変換する処理を行う。
内部フォーマットに変換された数値データは,数値デ
ータ記憶部17に記憶される。
計算処理部18は,内部フォーマットの形式で表現され
た数値について,実数計算を行い,結果を内部フォーマ
ット形式で,数値データ記憶部17に設定する。
外部フォーマット変換処理部16は,数値データの出力
にあたって,有効桁記憶部14に記憶している有効桁情報
に従って,桁の調整を行い,内部フォーマットによる実
数表現を,入出力用データ形式である外部フォーマット
に変換する処理を行う。
これらにより,数値計算が,整数化した実数表現によ
って実行され,一方,数値データの入出力については,
通常のユーザが要求する形式で行われるようになってい
る。
〔作用〕
本発明では,ユーザが保証を望む桁数に内部で桁合わ
せをして,数値データを記憶する。例えば,ユーザが小
数点以下1桁を保証してほしいと指定したとする。入力
で“10.5"という数値がきた場合,内部ではこれを整数
化した実数表現に変換し,“105.0"という値で記憶し,
以後の計算を行う。
このように有効桁の範囲内の値については,入力時に
必要桁数を整数化するので,入力時から誤差を含むこと
はなくなる。これは入力値を整数化した実数表現の内部
フォーマットにすることで,実数の整数部分のみを使用
するためで,2進数に変換しても値が近似されることがな
いためである。
有効桁の範囲内の値を使用した計算では,除算は例外
であるが,加算・減算・乗算に関しては,計算誤差は発
生しない。整数化した数値によって演算を行うことにな
るので,これらの演算結果として,小数部分が発生する
ことがないためである。
有効桁範囲外のものを使用した計算においては,誤差
が発生する可能性があるが,有効桁範囲外となり得るも
の,例えばπなどについては,有効桁として設定するこ
とができる範囲内で,入力を自由に行うことができる。
従って,ユーザの入力数値に対する実質的な制限はな
く,また,ユーザにとって意味のある数値について,入
力および計算に伴う誤差の発生を減少させることができ
る。桁数が無限に増加するということはないので,現在
の計算機の中で十分に使用することが可能である。
〔実施例〕
第2図は本発明の適用システム例,第3図は本発明の
実施例を示す。
本発明は,実数計算が必要になる計算機システムに適
用可能であるが,特に,第2図に示すようなソリッドモ
デルを扱う図形処理システム等に有効である。第2図に
おいて,第1図と同符号のものは第1図に示すものに対
応し,20は図形作成・編集処理部,21は図形データ管理
部,22は図形データベースを表す。
現状のCADの利用を考えると,通常,有効桁として,8
桁程度の桁数があれば十分である。そこで,第2図に示
すシステムでは,モデルごとにユーザに意味のある最小
桁を指定させ,入力の上限をその最小桁から8桁として
いる。この有効桁情報は,図形データ管理部21を経由し
て,図形データベース22内に記憶される。
図形作成・編集処理部20は,図形データに関する数値
データの入力にあたって,内部フォーマット変換処理部
15により,数値データを,有効桁範囲の最小桁の部分か
ら整数化した実数表現に変換する。また,出力時には,
外部フォーマット変換処理部16によって,入出力用デー
タ形式に変換する。
入出力を文字列で行う場合,内部/外部フォーマット
の変換は,例えば第3図(イ)に示すように行われる。
なお,有効桁範囲の指定桁が,小数点以下3桁であると
する。
数値データが“1.568"という文字列で入力された場
合,内部フォーマット変換処理部15は,有効桁範囲の指
定桁によって,その数値を内部フォーマットに変換し,
実数の1568.0という形で表す。例えばこの実数を3倍す
る場合,1568.0×3.0=4704.0という実数計算を行う。こ
の計算結果を文字列で出力する場合,外部フォーマット
変換処理部16は,有効桁範囲の指定桁によって桁合わせ
を行い,4704.0という実数から,“4.704"という文字列
に変換する処理を行う。
第3図(ロ)は,数値データを文字列ではなく,ディ
スプレイ画面や他の図形との関連等から,実数値として
入力した場合の例を示している。この場合についても,
内部フォーマット変換処理部15により,整数化した実数
表現の1568.0に変換し,この実数の形式で計算を行う。
出力の場合には,外部フォーマット変換処理部16によっ
て,桁合わせを行う。
このような実数値の入力では,入力データの実数に誤
差が入る。そこで,内部フォーマットに変換するとき
に,単純に桁合わせをするのではなく,入力の値を整数
化する桁に合わせて,例えば五捨六入を行ってから,桁
の調整を行う。これによって入力値をほぼ保証すること
ができる。
入力が文字列,出力が実数といったものも考えられる
が,第3図(イ),(ロ)の組み合わせで同様に実現で
きる。
次に,「0.12+0.45」という計算を行う場合につい
て,計算機システムにおける通常の数値データの扱い
と,本発明を適用したときの数値データの扱いの例を説
明する。なお,計算機内部の実数表現は,第4図に示す
形式を用いるものとする。
FORTRANによりREAL*8で定義した場合,次の形式
で記憶および計算が行われる。
0.12は16進で 401EB851EB851EB8 実数では 0.119999999999999996 D+00 0.45は16進で 4073333333333333 実数では 0.449999999999999997 D+00 0.12+0.45は 16進で 4091EB851EB851EB 実数では 0.569999999999999993 D+00。
本実施例では,小数点以下2桁保証の場合,各値を
整数化して記憶し,計算を行うので,次のようになる。
0.12を12.0として扱う。
12.0は16進で 41C0000000000000 実数では 0.120000000000000000 D+02 0.45を45.0として扱う。
45.0は16進で 422D000000000000 実数では 0.450000000000000000 D+02 12.0+45.0は 16進で 4239000000000000 実数では 0.570000000000000000 D+02。
以上のとを比較するとわかるように,本発明で
は,内部の記憶および計算結果において,誤差が生じな
くなる。
〔発明の効果〕
以上説明したように,本発明によれば,ユーザが数値
を入力した段階で,内部の記憶形式との関係により誤差
が生じるというようなことはなく,ほぼ完全に値を保証
することができる。また,入力数値データをもとにした
計算による誤差を減少させることができる。特に,入力
が有効桁の範囲内であれば,加算・減算・乗算について
は,完全に誤差がなくなる。数値の管理についても,有
効桁情報を別に記憶しておくだけでよいので,簡単であ
る。
【図面の簡単な説明】
第1図は本発明の構成例, 第2図は本発明の適用システム例, 第3図は本発明の実施例, 第4図は計算機システムにおける実数の内部表現例, 第5図は従来方式の例を示す。 図中,10は入出力装置,11は計算機,12は入出力制御部,13
は有効桁指定入力部,14は有効桁記憶部,15は内部フォー
マット変換処理部,16は外部フォーマット変換処理部,17
は数値データ記憶部,18は計算処理部を表す。
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 7/00 - 7/04 G06F 7/38 - 7/54

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】各ビットが2値をとり得るビット列によ
    り,実数の数値データを表現し,その数値データを処理
    する計算機システムにおいて, 数値データに関する意味のある桁の範囲を示す有効桁情
    報を記憶する有効桁記憶部(14)と, 入力した数値データについて,上記有効桁情報に従って
    桁の調整を行い,数値データを整数化した実数表現によ
    る内部フォーマットに変換する内部フォーマット変換処
    理部(15)と, 数値データの出力にあたって,上記有効桁情報に従って
    桁の調整を行い,内部フォーマットによる実数表現を,
    入出力用データ形式である外部フォーマットに変換する
    外部フォーマット変換手段(16)と, 数値計算を,整数化した実数表現による内部フォーマッ
    トで実行する計算処理部(18)とを備えた ことを特徴とする数値データ管理処理方式。
JP63258745A 1988-10-14 1988-10-14 数値データ管理処理方式 Expired - Fee Related JP2974683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63258745A JP2974683B2 (ja) 1988-10-14 1988-10-14 数値データ管理処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63258745A JP2974683B2 (ja) 1988-10-14 1988-10-14 数値データ管理処理方式

Publications (2)

Publication Number Publication Date
JPH02105927A JPH02105927A (ja) 1990-04-18
JP2974683B2 true JP2974683B2 (ja) 1999-11-10

Family

ID=17324495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63258745A Expired - Fee Related JP2974683B2 (ja) 1988-10-14 1988-10-14 数値データ管理処理方式

Country Status (1)

Country Link
JP (1) JP2974683B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6351033B2 (ja) * 2014-06-10 2018-07-04 本田技研工業株式会社 浮動小数点演算装置、プログラム、及び演算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51112241A (en) * 1975-03-28 1976-10-04 Hitachi Ltd Binary number weight conversion circuit
JPS6395535A (ja) * 1986-10-09 1988-04-26 Nec Corp 演算処理方式

Also Published As

Publication number Publication date
JPH02105927A (ja) 1990-04-18

Similar Documents

Publication Publication Date Title
US20230342112A1 (en) Decimal floating-point round-for-reround instruction
CN1498364A (zh) 产生具有可变精度的对数信号近似
US20070180004A1 (en) Apparatus and method for precision binary numbers and numerical operations
Matula et al. Finite precision rational arithmetic: Slash number systems
JP2689414B2 (ja) 浮動小数点表現変換器
Sarma et al. Faithful interpolation in reciprocal tables
Muller et al. Semi-logarithmic number systems
JP2974683B2 (ja) 数値データ管理処理方式
JPH05241787A (ja) 算術演算におけるスティッキイ・ビット値の判別装置
KR102559930B1 (ko) 수학적 함수들을 연산하기 위한 시스템 및 방법들
Sasidharan et al. VHDL Implementation of IEEE 754 floating point unit
Schulte et al. Performance evaluation of decimal floating-point arithmetic
Koç A Tutorial on p-adic Arithmetic
Holmes Composite arithmetic: Proposal for a new standard
JP2002537595A (ja) 非線形関数の計算精度をディジタル電子的に向上させる方法、およびこの方法を実施するハードウェアアーキテクチャ
JPH01282633A (ja) 非正規化数の処理方式
Andrews et al. Evaluation of functions on microcomputers: square root
JPH0628153A (ja) 低誤差計算処理装置
Ahari Computer Arithmetic in modern computers and usages of Computer Arithmetic
JPH04507023A (ja) Ieee 754―1985標準に準拠した2進浮動小数点演算丸め
JPH11195012A (ja) 自由曲線演算方法および該方法に係るプログラムを格納した記憶媒体
JP3137636B2 (ja) データ処理装置
Robe et al. SIMULINK modules that emulate digital controllers realized with fixed-point or floating-point arithmetic
Dritz Rationale for the proposed standard for a generic package of primitive functions for Ada
JPH02165225A (ja) 精度つき浮動小数点数演算処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees