JP3029812B2 - 演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体Info
- Publication number
- JP3029812B2 JP3029812B2 JP9145017A JP14501797A JP3029812B2 JP 3029812 B2 JP3029812 B2 JP 3029812B2 JP 9145017 A JP9145017 A JP 9145017A JP 14501797 A JP14501797 A JP 14501797A JP 3029812 B2 JP3029812 B2 JP 3029812B2
- Authority
- JP
- Japan
- Prior art keywords
- point data
- floating
- fixed
- point
- calculation
- 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
Links
- 238000011084 recovery Methods 0.000 title claims description 33
- 238000000034 method Methods 0.000 title claims description 31
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 6
- 101150097247 CRT1 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、表計算ソフトウェ
アにおいて、浮動小数点データを参照して所定の演算を
実行した際に発生した桁落ちエラーによる演算エラーを
自動的に復旧することができる演算エラー復旧方法およ
びその装置,並びにその方法をコンピュータに実行させ
るためのプログラムを記録したコンピュータ読み取り可
能な記録媒体に関する。
アにおいて、浮動小数点データを参照して所定の演算を
実行した際に発生した桁落ちエラーによる演算エラーを
自動的に復旧することができる演算エラー復旧方法およ
びその装置,並びにその方法をコンピュータに実行させ
るためのプログラムを記録したコンピュータ読み取り可
能な記録媒体に関する。
【0002】
【従来の技術】表計算ソフトウェアにおいては、浮動小
数点演算と固定小数点演算との2つの演算方法が用意さ
れている。演算を実行する際には、演算速度を優先して
浮動小数点演算による演算が通常実行される。そして、
演算結果に桁落ちエラーが発生した場合は、ユーザが固
定小数点演算に切り替えて、固定小数点演算を行い、浮
動小数点演算による演算エラーの復旧処理を実行してい
た。
数点演算と固定小数点演算との2つの演算方法が用意さ
れている。演算を実行する際には、演算速度を優先して
浮動小数点演算による演算が通常実行される。そして、
演算結果に桁落ちエラーが発生した場合は、ユーザが固
定小数点演算に切り替えて、固定小数点演算を行い、浮
動小数点演算による演算エラーの復旧処理を実行してい
た。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来技術においては、浮動小数点演算による演算結果に桁
落ちエラーによる演算エラーが発生した場合、ユーザが
自ら固定小数点演算に切り替えて再演算するという処理
を行っていたため、復旧処理の利便性に欠けるという問
題があった。
来技術においては、浮動小数点演算による演算結果に桁
落ちエラーによる演算エラーが発生した場合、ユーザが
自ら固定小数点演算に切り替えて再演算するという処理
を行っていたため、復旧処理の利便性に欠けるという問
題があった。
【0004】また、浮動小数点演算によっても演算エラ
ーが発生しない場合であるにも拘わらず、ユーザが桁落
ちエラーの発生を危惧して固定小数点演算に切り替えて
演算を行うことにしてしまうと、演算速度が低下すると
いう問題があった。
ーが発生しない場合であるにも拘わらず、ユーザが桁落
ちエラーの発生を危惧して固定小数点演算に切り替えて
演算を行うことにしてしまうと、演算速度が低下すると
いう問題があった。
【0005】本発明は上記に鑑みてなされたものであっ
て、表計算ソフトウェアにおいて、浮動小数点演算で演
算を実行した際に発生した桁落ちエラーによる演算エラ
ーを自動的に復旧可能とし、復旧処理の利便性の向上を
図ることを目的とする。
て、表計算ソフトウェアにおいて、浮動小数点演算で演
算を実行した際に発生した桁落ちエラーによる演算エラ
ーを自動的に復旧可能とし、復旧処理の利便性の向上を
図ることを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の演算エラー復旧方法は、任意のセルに格
納された浮動小数点データを参照して、所定の演算を実
行する表計算ソフトウェアにおける演算エラー復旧方法
において、前記浮動小数点データを参照して所定の演算
を実行した際に、演算結果に桁落ちエラーが発生した場
合、前記参照した浮動小数点データを固定小数点データ
に変換する変換工程と、前記変換工程で変換した固定小
数点データを参照して、再度演算を実行する再演算工程
と、を含むものである。
め、請求項1の演算エラー復旧方法は、任意のセルに格
納された浮動小数点データを参照して、所定の演算を実
行する表計算ソフトウェアにおける演算エラー復旧方法
において、前記浮動小数点データを参照して所定の演算
を実行した際に、演算結果に桁落ちエラーが発生した場
合、前記参照した浮動小数点データを固定小数点データ
に変換する変換工程と、前記変換工程で変換した固定小
数点データを参照して、再度演算を実行する再演算工程
と、を含むものである。
【0007】すなわち、請求項1の演算エラー復旧方法
は、浮動小数点データを参照して所定の演算を実行した
際に、演算結果に桁落ちエラーが発生した場合、演算の
際に参照した浮動小数点データを固定小数点データに変
換し、変換した固定小数点データを用いて再度演算を実
行することによって、浮動小数点演算により発生した桁
落ちエラーによる演算エラーの復旧を図るものである。
は、浮動小数点データを参照して所定の演算を実行した
際に、演算結果に桁落ちエラーが発生した場合、演算の
際に参照した浮動小数点データを固定小数点データに変
換し、変換した固定小数点データを用いて再度演算を実
行することによって、浮動小数点演算により発生した桁
落ちエラーによる演算エラーの復旧を図るものである。
【0008】また、請求項2の演算エラー復旧方法は、
請求項1に記載の演算エラー復旧方法において、さら
に、前記再演算工程を実行した後、前記再演算工程で参
照した固定小数点データが格納されたセル以外のセルに
浮動小数点データ格納されている場合に、該浮動小数点
データを全て固定小数点データに変換する工程を含むも
のである。
請求項1に記載の演算エラー復旧方法において、さら
に、前記再演算工程を実行した後、前記再演算工程で参
照した固定小数点データが格納されたセル以外のセルに
浮動小数点データ格納されている場合に、該浮動小数点
データを全て固定小数点データに変換する工程を含むも
のである。
【0009】すなわち、請求項2の演算エラー復旧方法
は、上記変換工程で浮動小数点データを固定小数点デー
タに変換した結果、スプレッドシート中に浮動小数点デ
ータと固定小数点データとが混在することになってしま
った場合に、全ての浮動小数点データを固定小数点デー
タに変換するものである。
は、上記変換工程で浮動小数点データを固定小数点デー
タに変換した結果、スプレッドシート中に浮動小数点デ
ータと固定小数点データとが混在することになってしま
った場合に、全ての浮動小数点データを固定小数点デー
タに変換するものである。
【0010】また、請求項3の演算エラー復旧装置は、
任意のセルに格納された浮動小数点データを参照して、
所定の演算を実行する表計算ソフトウェアに用いられる
演算エラー復旧装置において、前記浮動小数点データを
参照して所定の演算を実行した際に、演算結果に桁落ち
エラーが発生した場合、前記参照した浮動小数点データ
を固定小数点データに変換する変換手段と、前記変換手
段で変換された固定小数点データを参照して、再度演算
を実行する再演算手段と、を備えたものである。
任意のセルに格納された浮動小数点データを参照して、
所定の演算を実行する表計算ソフトウェアに用いられる
演算エラー復旧装置において、前記浮動小数点データを
参照して所定の演算を実行した際に、演算結果に桁落ち
エラーが発生した場合、前記参照した浮動小数点データ
を固定小数点データに変換する変換手段と、前記変換手
段で変換された固定小数点データを参照して、再度演算
を実行する再演算手段と、を備えたものである。
【0011】すなわち、請求項3の演算エラー復旧装置
は、浮動小数点データを参照して所定の演算を実行した
際に、演算結果に桁落ちエラーが発生した場合、演算の
際に参照した浮動小数点データを固定小数点データに変
換し、変換した固定小数点データを用いて再度演算を実
行することによって、浮動小数点演算により発生した桁
落ちエラーによる演算エラーの復旧を図るものである。
は、浮動小数点データを参照して所定の演算を実行した
際に、演算結果に桁落ちエラーが発生した場合、演算の
際に参照した浮動小数点データを固定小数点データに変
換し、変換した固定小数点データを用いて再度演算を実
行することによって、浮動小数点演算により発生した桁
落ちエラーによる演算エラーの復旧を図るものである。
【0012】さらに、請求項4のコンピュータ読み取り
可能な記録媒体は、前記請求項1または2に記載の演算
エラー復旧方法をコンピュータに実行させるためのプロ
グラムを記録したものである。
可能な記録媒体は、前記請求項1または2に記載の演算
エラー復旧方法をコンピュータに実行させるためのプロ
グラムを記録したものである。
【0013】すなわち、請求項4のコンピュータ読み取
り可能な記録媒体は、記録したプログラムをコンピュー
タに実行させることにより、演算結果に桁落ちエラーが
発生した場合、演算に用いた浮動小数点データを固定小
数点データに変換し、変換した固定小数点データを用い
て再度演算を実行することによって、浮動小数点演算に
より発生した桁落ちエラーによる演算エラーの復旧を図
るものである。
り可能な記録媒体は、記録したプログラムをコンピュー
タに実行させることにより、演算結果に桁落ちエラーが
発生した場合、演算に用いた浮動小数点データを固定小
数点データに変換し、変換した固定小数点データを用い
て再度演算を実行することによって、浮動小数点演算に
より発生した桁落ちエラーによる演算エラーの復旧を図
るものである。
【0014】
【発明の実施の形態】以下、本発明の演算エラー復旧方
法およびその装置,並びにその方法をコンピュータに実
行させるプログラムを記録したコンピュータ読み取り可
能な記録媒体の一実施の形態について、添付の図面を参
照しつつ詳細に説明する。
法およびその装置,並びにその方法をコンピュータに実
行させるプログラムを記録したコンピュータ読み取り可
能な記録媒体の一実施の形態について、添付の図面を参
照しつつ詳細に説明する。
【0015】図1は、本発明の演算エラー復旧方法をパ
ーソナルコンピュータ等を用いて実現するためのハード
ウェア構成を示すブロック図である。図1において、1
00はCPU、101はCPU100の制御プログラム
を記憶したROM、102はCPU100のワークエリ
ア等に使用されるRAM、103は表計算ソフト104
等を記憶したハードディスク装置、109は表計算プロ
グラムのスプレッドシート等を表示するCRT、110
は数値・文字等を入力するキーボードやマウス等の入力
装置、111は上記各部を接続するバスをそれぞれ示し
ている。なお、上記構成に加え、フロッピーディスクド
ライブ装置112やモデム等の通信装置113、その他
CD−ROMドライブ装置等を任意に接続することがで
きる。
ーソナルコンピュータ等を用いて実現するためのハード
ウェア構成を示すブロック図である。図1において、1
00はCPU、101はCPU100の制御プログラム
を記憶したROM、102はCPU100のワークエリ
ア等に使用されるRAM、103は表計算ソフト104
等を記憶したハードディスク装置、109は表計算プロ
グラムのスプレッドシート等を表示するCRT、110
は数値・文字等を入力するキーボードやマウス等の入力
装置、111は上記各部を接続するバスをそれぞれ示し
ている。なお、上記構成に加え、フロッピーディスクド
ライブ装置112やモデム等の通信装置113、その他
CD−ROMドライブ装置等を任意に接続することがで
きる。
【0016】ハードディスク装置103に格納された表
計算ソフト104は、表組みの形で様々なデータの計算
や管理、表の加工を行うアプリケーションプログラムで
あり、表計算ソフト104による各種処理の実行を制御
する制御プログラム105と、浮動小数点データに基づ
いて所定の演算処理を実行する浮動小数点演算プログラ
ム106と、固定小数点データに基づいて所定の演算処
理を実行する固定小数点演算プログラム107と、浮動
小数点演算による演算結果にエラーが発生した場合に、
本発明の演算エラー復旧方法を用いて復旧処理を実行す
る演算エラー復旧プログラム108とを含んでいる。
計算ソフト104は、表組みの形で様々なデータの計算
や管理、表の加工を行うアプリケーションプログラムで
あり、表計算ソフト104による各種処理の実行を制御
する制御プログラム105と、浮動小数点データに基づ
いて所定の演算処理を実行する浮動小数点演算プログラ
ム106と、固定小数点データに基づいて所定の演算処
理を実行する固定小数点演算プログラム107と、浮動
小数点演算による演算結果にエラーが発生した場合に、
本発明の演算エラー復旧方法を用いて復旧処理を実行す
る演算エラー復旧プログラム108とを含んでいる。
【0017】ここで、浮動小数点演算プログラム106
による浮動小数点演算は、例えば、CPU100内の浮
動小数点ユニットを用いて実行されるものである。この
浮動小数点演算において、演算可能な数値の有効桁数
は、通常約15桁に設定されており、演算には例えば8
バイトのデータ領域が必要となる。
による浮動小数点演算は、例えば、CPU100内の浮
動小数点ユニットを用いて実行されるものである。この
浮動小数点演算において、演算可能な数値の有効桁数
は、通常約15桁に設定されており、演算には例えば8
バイトのデータ領域が必要となる。
【0018】また、固定小数点演算プログラム107に
よる固定小数点演算において、演算可能な数値の有効桁
数は、通常約38桁に設定されており、演算には例えば
20バイトのデータ領域が必要となる。
よる固定小数点演算において、演算可能な数値の有効桁
数は、通常約38桁に設定されており、演算には例えば
20バイトのデータ領域が必要となる。
【0019】上記浮動小数点演算では、固定小数点演算
と比べて演算速度が速いという利点がある。一方、固定
小数点演算では、演算速度が遅く、多くのデータ領域が
必要となるが、浮動小数点演算と比べて、演算可能な数
値の有効桁数が多いという利点がある。
と比べて演算速度が速いという利点がある。一方、固定
小数点演算では、演算速度が遅く、多くのデータ領域が
必要となるが、浮動小数点演算と比べて、演算可能な数
値の有効桁数が多いという利点がある。
【0020】ところで、 0.1234567890123456+0.1 という演算を浮動小数点演算で演算する場合には、その
演算結果である 0.2234567890123456 の最後の「6」、即ち、有効桁数15を超える桁の値は
補償されないことになるが(桁落ちエラーの発生)、固
定小数点演算で演算する場合には、有効桁数38の数値
を扱うことができるため、上記数値については桁落ちエ
ラーの発生なしに正確に演算することができる。
演算結果である 0.2234567890123456 の最後の「6」、即ち、有効桁数15を超える桁の値は
補償されないことになるが(桁落ちエラーの発生)、固
定小数点演算で演算する場合には、有効桁数38の数値
を扱うことができるため、上記数値については桁落ちエ
ラーの発生なしに正確に演算することができる。
【0021】そこで、本実施の形態では、演算速度を重
視して基本的には浮動小数点演算で演算処理を実行する
ことにし、浮動小数点演算で桁落ちエラーが発生した場
合には、自動的に固定小数点演算に切り替えて再度演算
し、桁落ちエラーによる演算エラーの復旧処理を行うこ
とができるようにする。
視して基本的には浮動小数点演算で演算処理を実行する
ことにし、浮動小数点演算で桁落ちエラーが発生した場
合には、自動的に固定小数点演算に切り替えて再度演算
し、桁落ちエラーによる演算エラーの復旧処理を行うこ
とができるようにする。
【0022】なお、浮動小数点演算における有効桁数を
超える数値に基づく演算の指示があった場合には、桁落
ちエラーの発生を予測して、予め固定小数点演算に切り
替えて演算処理を実行することにしても良い。
超える数値に基づく演算の指示があった場合には、桁落
ちエラーの発生を予測して、予め固定小数点演算に切り
替えて演算処理を実行することにしても良い。
【0023】また、桁落ちエラーが発生したか否かは、
CPU100内のフラグレジスタ等に桁落ちが発生した
ことを示すフラグが立ったか否かで判定することができ
る。
CPU100内のフラグレジスタ等に桁落ちが発生した
ことを示すフラグが立ったか否かで判定することができ
る。
【0024】また、上記浮動小数点データと固定小数点
データは、数値自体が異なるものではなく、その意味
は、装置内部でのデータの持ち方が異なるということで
ある。
データは、数値自体が異なるものではなく、その意味
は、装置内部でのデータの持ち方が異なるということで
ある。
【0025】さらに、上記各プログラムをハードディス
ク装置103以外のフロッピーディスク,CD−RO
M,DVD等のコンピュータが読み取り可能な記録媒体
に記録することもでき、これらからプログラムを読み出
してコンピュータに実行させることもできる。また、各
プログラムを別々に上記記録媒体に記録して配布等する
こともでき、ネットワーク等を介して各プログラムの送
受信を行うことも可能である。また、表計算プログラム
104の構成は、上述した構成に限定するものではな
く、任意に変更することができる。
ク装置103以外のフロッピーディスク,CD−RO
M,DVD等のコンピュータが読み取り可能な記録媒体
に記録することもでき、これらからプログラムを読み出
してコンピュータに実行させることもできる。また、各
プログラムを別々に上記記録媒体に記録して配布等する
こともでき、ネットワーク等を介して各プログラムの送
受信を行うことも可能である。また、表計算プログラム
104の構成は、上述した構成に限定するものではな
く、任意に変更することができる。
【0026】次に、表計算ソフト104による演算処理
を説明しつつ、本実施の形態の演算エラー復旧方法を具
体的に説明する。図2は、表計算ソフト104による演
算処理を説明するためのフローチャートである。
を説明しつつ、本実施の形態の演算エラー復旧方法を具
体的に説明する。図2は、表計算ソフト104による演
算処理を説明するためのフローチャートである。
【0027】入力装置110から表計算ソフト104の
起動命令が入力されると、CPU100によって制御プ
ログラム105がRAM102に読み出され、表計算プ
ログラム104が起動される(S201)。制御プログ
ラム105は、CPU100によって読み出されると、
RAM102中に作業領域を確保すると共に、CRT1
09にスプレッドシートを表示する。RAM102中に
確保された作業領域には、スプレッドシートのセルデー
タ,各行または各列がメモリのどこから始まっているか
を表す情報,セルデータそのものには入らないさまざま
なセル情報等が格納される。
起動命令が入力されると、CPU100によって制御プ
ログラム105がRAM102に読み出され、表計算プ
ログラム104が起動される(S201)。制御プログ
ラム105は、CPU100によって読み出されると、
RAM102中に作業領域を確保すると共に、CRT1
09にスプレッドシートを表示する。RAM102中に
確保された作業領域には、スプレッドシートのセルデー
タ,各行または各列がメモリのどこから始まっているか
を表す情報,セルデータそのものには入らないさまざま
なセル情報等が格納される。
【0028】そして、制御プログラム105は、入力装
置110から数値データを入力すると、上記作業領域の
該当するアドレスに入力した数値データを格納すると共
に、画面表示されたスプレッドシートの該当するセルに
数値データを表示する(S202)。図3は、各セルに
数値データが入力された様子を示している。本実施の形
態における表計算ソフト104は、演算速度の向上に鑑
み、通常は浮動小数点演算を実行することになってお
り、各セルに格納される数値データは浮動小数点データ
の形式で格納されることになっている。
置110から数値データを入力すると、上記作業領域の
該当するアドレスに入力した数値データを格納すると共
に、画面表示されたスプレッドシートの該当するセルに
数値データを表示する(S202)。図3は、各セルに
数値データが入力された様子を示している。本実施の形
態における表計算ソフト104は、演算速度の向上に鑑
み、通常は浮動小数点演算を実行することになってお
り、各セルに格納される数値データは浮動小数点データ
の形式で格納されることになっている。
【0029】続いて、入力装置110から演算式を入力
すると、作業領域の該当するアドレスに入力した演算式
を格納する(S203)。ここでは、例えば、A1とB
1のセルのデータの積を求めるための演算式がC1のセ
ルに入力されたものとする。なお、本実施の形態の説明
では、数値データを入力した後に演算式を入力すること
にしたが、演算式を入力した後に数値データを入力する
こともできる。
すると、作業領域の該当するアドレスに入力した演算式
を格納する(S203)。ここでは、例えば、A1とB
1のセルのデータの積を求めるための演算式がC1のセ
ルに入力されたものとする。なお、本実施の形態の説明
では、数値データを入力した後に演算式を入力すること
にしたが、演算式を入力した後に数値データを入力する
こともできる。
【0030】そして、制御プログラム105は、演算式
を入力すると、浮動小数点演算プログラム106を起動
させて演算処理を実行する(S204)。ここで、図4
に基づいて、ステップS204における演算処理を詳細
に説明する。なお、図4は、本実施の形態の演算エラー
復旧方法を説明するフローチャートを示しており、この
ステップS204における演算の実行中に演算エラー
(桁落ちエラー)が発生した場合に、本実施の形態の演
算エラー復旧方法が実行されることになる。
を入力すると、浮動小数点演算プログラム106を起動
させて演算処理を実行する(S204)。ここで、図4
に基づいて、ステップS204における演算処理を詳細
に説明する。なお、図4は、本実施の形態の演算エラー
復旧方法を説明するフローチャートを示しており、この
ステップS204における演算の実行中に演算エラー
(桁落ちエラー)が発生した場合に、本実施の形態の演
算エラー復旧方法が実行されることになる。
【0031】浮動小数点演算プログラム106は、入力
された演算式に応じて、該当するセル(A1よびB1)
の数値データ、即ち、浮動小数点データを参照し、浮動
小数点演算(A1とB1の積)を実行する(S40
1)。
された演算式に応じて、該当するセル(A1よびB1)
の数値データ、即ち、浮動小数点データを参照し、浮動
小数点演算(A1とB1の積)を実行する(S40
1)。
【0032】そして、演算の実行後、浮動小数点演算プ
ログラム106は、演算結果に桁落ちエラーが発生して
いるか否かを判定する(S402)。具体的には、浮動
小数点演算プログラム106がCPU100のフラグを
チェックし、その結果に基づいて、上記桁落ちエラーが
発生しているか否かを判定する。
ログラム106は、演算結果に桁落ちエラーが発生して
いるか否かを判定する(S402)。具体的には、浮動
小数点演算プログラム106がCPU100のフラグを
チェックし、その結果に基づいて、上記桁落ちエラーが
発生しているか否かを判定する。
【0033】ステップS402において桁落ちエラーが
発生していないと判定した場合、浮動小数点演算プログ
ラム106は、演算結果を該当するセル(C1)に表示
して演算処理を終了する。
発生していないと判定した場合、浮動小数点演算プログ
ラム106は、演算結果を該当するセル(C1)に表示
して演算処理を終了する。
【0034】一方、ステップS402において、桁落ち
エラーが発生していると判定した場合、浮動小数点演算
プログラム106は、判定結果を制御プログラム105
に報告し、制御プログラム105は、演算エラー復旧プ
ログラム108を呼び出して、演算エラーの復旧処理を
実行させる(S403〜S406)。なお、ここで制御
プログラム105は、演算エラー復旧処理のための作業
エリア、即ち、固定小数点演算を行うために必要なデー
タ領域を確保する。
エラーが発生していると判定した場合、浮動小数点演算
プログラム106は、判定結果を制御プログラム105
に報告し、制御プログラム105は、演算エラー復旧プ
ログラム108を呼び出して、演算エラーの復旧処理を
実行させる(S403〜S406)。なお、ここで制御
プログラム105は、演算エラー復旧処理のための作業
エリア、即ち、固定小数点演算を行うために必要なデー
タ領域を確保する。
【0035】演算エラー復旧プログラム108は、制御
プログラム105によって呼び出されると、ステップS
401での演算の際に参照した浮動小数点データを固定
小数点データに変換する(S403)。
プログラム105によって呼び出されると、ステップS
401での演算の際に参照した浮動小数点データを固定
小数点データに変換する(S403)。
【0036】続いて演算エラー復旧プログラム108
は、固定小数点データへの変換が終了すると、固定小数
点演算プログラム107を呼び出し、変換した固定小数
点データを参照して固定小数点演算を実行させる(S4
04)。固定小数点演算プログラム107は、演算式に
基づいて、変換された固定小数点データを参照して固定
小数点演算を実行し、演算結果を該当するセル(C1)
に表示する。図5は、固定小数点演算の結果が表示され
たスプレッドシートの様子を示している。
は、固定小数点データへの変換が終了すると、固定小数
点演算プログラム107を呼び出し、変換した固定小数
点データを参照して固定小数点演算を実行させる(S4
04)。固定小数点演算プログラム107は、演算式に
基づいて、変換された固定小数点データを参照して固定
小数点演算を実行し、演算結果を該当するセル(C1)
に表示する。図5は、固定小数点演算の結果が表示され
たスプレッドシートの様子を示している。
【0037】その後、演算エラー復旧プログラム108
は、上記演算の際に参照したセル以外のセルに浮動小数
点データが格納されているか否かを判定する(S40
5)。参照したセル以外のセルに浮動小数点データが格
納されていない場合には演算処理を終了する。
は、上記演算の際に参照したセル以外のセルに浮動小数
点データが格納されているか否かを判定する(S40
5)。参照したセル以外のセルに浮動小数点データが格
納されていない場合には演算処理を終了する。
【0038】一方、参照したセル以外のセルに浮動小数
点データ格納されている場合には、全ての浮動小数点デ
ータを固定小数点データに変換する(S406)。
点データ格納されている場合には、全ての浮動小数点デ
ータを固定小数点データに変換する(S406)。
【0039】ステップS406において、浮動小数点デ
ータを固定小数点データに変換するのは、ステップS4
03において、参照した浮動小数点データを固定小数点
データに変換したからである。すなわち、各セルの数値
データは、上述したように浮動小数点データの形式で作
業領域に格納されているため、その中のいずれかを固定
小数点データに変換した場合には、スプレッドシート全
体で浮動小数点データと固定小数点データという形式の
異なるデータが混在することになってしまう。そのた
め、異なる形式の数値データを用いて演算を実行した場
合には、演算結果にエラーが発生することになることか
ら、ステップS406では、スプレッドシート全体の数
値データの形式を統一して演算エラーの発生を未然に防
止することにしている。なお、図6は、スプレッドシー
ト中の全ての浮動小数点データを固定小数点データに変
換して表示した様子を示している。
ータを固定小数点データに変換するのは、ステップS4
03において、参照した浮動小数点データを固定小数点
データに変換したからである。すなわち、各セルの数値
データは、上述したように浮動小数点データの形式で作
業領域に格納されているため、その中のいずれかを固定
小数点データに変換した場合には、スプレッドシート全
体で浮動小数点データと固定小数点データという形式の
異なるデータが混在することになってしまう。そのた
め、異なる形式の数値データを用いて演算を実行した場
合には、演算結果にエラーが発生することになることか
ら、ステップS406では、スプレッドシート全体の数
値データの形式を統一して演算エラーの発生を未然に防
止することにしている。なお、図6は、スプレッドシー
ト中の全ての浮動小数点データを固定小数点データに変
換して表示した様子を示している。
【0040】このように、本実施の形態の演算エラー復
旧方法およびその装置によれば、通常は浮動小数点デー
タを用いて浮動小数点演算を実行し、演算結果に桁落ち
エラーが発生した場合には、浮動小数点データを固定小
数点データに変換し、変換した固定小数点データを用い
て固定小数点演算を実行するため、自動的に演算エラー
を復旧することができ、正しい演算結果を得ることがで
きる。したがって、演算結果に桁落ちエラーの発生とい
う演算エラーが発生した際の復旧処理の利便性の向上を
図ることができる。
旧方法およびその装置によれば、通常は浮動小数点デー
タを用いて浮動小数点演算を実行し、演算結果に桁落ち
エラーが発生した場合には、浮動小数点データを固定小
数点データに変換し、変換した固定小数点データを用い
て固定小数点演算を実行するため、自動的に演算エラー
を復旧することができ、正しい演算結果を得ることがで
きる。したがって、演算結果に桁落ちエラーの発生とい
う演算エラーが発生した際の復旧処理の利便性の向上を
図ることができる。
【0041】また、演算の際に参照した浮動小数点デー
タを固定小数点データに変換した結果、スプレッドシー
ト中に浮動小数点データと固定小数点データとが混在す
ることになった場合に、浮動小数点データを固定小数点
データに変換することにしたため、データ形式の異なる
ことが原因で発生する演算エラーを未然に防止すること
ができる。
タを固定小数点データに変換した結果、スプレッドシー
ト中に浮動小数点データと固定小数点データとが混在す
ることになった場合に、浮動小数点データを固定小数点
データに変換することにしたため、データ形式の異なる
ことが原因で発生する演算エラーを未然に防止すること
ができる。
【0042】
【発明の効果】以上説明したように、本発明の演算エラ
ー復旧方法(請求項1)によれば、浮動小数点データを
参照して所定の演算を実行した際に、演算結果に桁落ち
エラーが発生した場合、参照した浮動小数点データを固
定小数点データに変換する変換工程と、変換工程で変換
した固定小数点データを参照して、再度演算を実行する
再演算工程と、を含むため、演算結果に桁落ちエラーの
発生という演算エラーが発生した際の復旧処理の利便性
の向上を図ることができる。
ー復旧方法(請求項1)によれば、浮動小数点データを
参照して所定の演算を実行した際に、演算結果に桁落ち
エラーが発生した場合、参照した浮動小数点データを固
定小数点データに変換する変換工程と、変換工程で変換
した固定小数点データを参照して、再度演算を実行する
再演算工程と、を含むため、演算結果に桁落ちエラーの
発生という演算エラーが発生した際の復旧処理の利便性
の向上を図ることができる。
【0043】また、本発明の演算エラー復旧方法(請求
項2)によれば、請求項1に記載の演算エラー復旧方法
において、さらに、再演算工程を実行した後、再演算工
程で参照した固定小数点データが格納されたセル以外の
セルに浮動小数点データ格納されている場合に、該浮動
小数点データを全て固定小数点データに変換する工程を
含むため、データ形式の異なることが原因で発生する演
算エラーを未然に防止することができる。
項2)によれば、請求項1に記載の演算エラー復旧方法
において、さらに、再演算工程を実行した後、再演算工
程で参照した固定小数点データが格納されたセル以外の
セルに浮動小数点データ格納されている場合に、該浮動
小数点データを全て固定小数点データに変換する工程を
含むため、データ形式の異なることが原因で発生する演
算エラーを未然に防止することができる。
【0044】また、本発明の演算エラー復旧装置(請求
項3)によれば、浮動小数点データを参照して所定の演
算を実行した際に、演算結果に桁落ちエラーが発生した
場合、参照した浮動小数点データを固定小数点データに
変換する変換手段と、変換手段で変換された固定小数点
データを参照して、再度演算を実行する再演算手段と、
を備えたため、演算結果に桁落ちエラーの発生という演
算エラーが発生した際の復旧処理の利便性の向上を図る
ことができる。
項3)によれば、浮動小数点データを参照して所定の演
算を実行した際に、演算結果に桁落ちエラーが発生した
場合、参照した浮動小数点データを固定小数点データに
変換する変換手段と、変換手段で変換された固定小数点
データを参照して、再度演算を実行する再演算手段と、
を備えたため、演算結果に桁落ちエラーの発生という演
算エラーが発生した際の復旧処理の利便性の向上を図る
ことができる。
【0045】さらに、本発明のコンピュータ読み取り可
能な記録媒体(請求項4)によれば、請求項1または2
に記載の演算エラー復旧方法の各工程をコンピュータに
実行させるためのプログラムを記録したため、このプロ
グラムをコンピュータに実行させることにより、演算結
果に桁落ちエラーの発生という演算エラーが発生した際
の復旧処理の利便性の向上を図ることができる。
能な記録媒体(請求項4)によれば、請求項1または2
に記載の演算エラー復旧方法の各工程をコンピュータに
実行させるためのプログラムを記録したため、このプロ
グラムをコンピュータに実行させることにより、演算結
果に桁落ちエラーの発生という演算エラーが発生した際
の復旧処理の利便性の向上を図ることができる。
【図1】本発明の演算エラー復旧方法を実現するための
ハードウェア構成を示すブロック図である。
ハードウェア構成を示すブロック図である。
【図2】本実施の形態の演算エラー復旧方法において、
表計算ソフトによる演算処理を説明するためのフローチ
ャートである。
表計算ソフトによる演算処理を説明するためのフローチ
ャートである。
【図3】スプレッドシート中の各セルにデータが入力さ
れた様子を示す説明図である。
れた様子を示す説明図である。
【図4】本実施の形態の演算エラー復旧方法を説明する
フローチャートである。
フローチャートである。
【図5】固定小数点演算の結果が表示されたスプレッド
シートの様子を示す説明図である。
シートの様子を示す説明図である。
【図6】スプレッドシート中の全ての浮動小数点データ
を固定小数点データに変換して表示した様子を示す説明
図である。
を固定小数点データに変換して表示した様子を示す説明
図である。
100 CPU 102 RAM 103 ハードディスク装置 104 表計算ソフト 105 制御プログラム 106 浮動小数点演算プログラム 107 固定小数点演算プログラム 108 演算エラー復旧プログラム 109 CRT 110 入力装置
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 G06F 19/00
Claims (4)
- 【請求項1】 任意のセルに格納された浮動小数点デー
タを参照して、所定の演算を実行する表計算ソフトウェ
アにおける演算エラー復旧方法において、 前記浮動小数点データを参照して所定の演算を実行した
際に、演算結果に桁落ちエラーが発生した場合、前記参
照した浮動小数点データを固定小数点データに変換する
変換工程と、 前記変換工程で変換した固定小数点データを参照して、
再度演算を実行する再演算工程と、 を含むことを特徴とする演算エラー復旧方法。 - 【請求項2】 さらに、前記再演算工程を実行した後、
前記再演算工程で参照した固定小数点データが格納され
たセル以外のセルに浮動小数点データ格納されている場
合に、該浮動小数点データを全て固定小数点データに変
換する工程を含むことを特徴とする請求項1に記載の演
算エラー復旧方法。 - 【請求項3】 任意のセルに格納された浮動小数点デー
タを参照して、所定の演算を実行する表計算ソフトウェ
アに用いられる演算エラー復旧装置において、 前記浮動小数点データを参照して所定の演算を実行した
際に、演算結果に桁落ちエラーが発生した場合、前記参
照した浮動小数点データを固定小数点データに変換する
変換手段と、 前記変換手段で変換された固定小数点データを参照し
て、再度演算を実行する再演算手段と、 を備えたことを特徴とする演算エラー復旧装置。 - 【請求項4】 前記請求項1または2に記載の演算エラ
ー復旧方法の各工程をコンピュータに実行させるための
プログラムを記録したことを特徴とするコンピュータ読
み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9145017A JP3029812B2 (ja) | 1997-06-03 | 1997-06-03 | 演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US08/975,282 US6055648A (en) | 1997-06-03 | 1997-11-20 | Method and apparatus for recovering the computing error, and a computer-readable recording medium for storing the program for executing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9145017A JP3029812B2 (ja) | 1997-06-03 | 1997-06-03 | 演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10333880A JPH10333880A (ja) | 1998-12-18 |
JP3029812B2 true JP3029812B2 (ja) | 2000-04-10 |
Family
ID=15375514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9145017A Expired - Fee Related JP3029812B2 (ja) | 1997-06-03 | 1997-06-03 | 演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6055648A (ja) |
JP (1) | JP3029812B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617421B2 (en) * | 2006-07-27 | 2009-11-10 | Sun Microsystems, Inc. | Method and apparatus for reporting failure conditions during transactional execution |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US33629A (en) * | 1861-11-05 | Improvement in trusses for bridges | ||
USRE33629E (en) | 1980-02-13 | 1991-07-02 | Intel Corporation | Numeric data processor |
US4338675A (en) * | 1980-02-13 | 1982-07-06 | Intel Corporation | Numeric data processor |
JPH069028B2 (ja) * | 1986-02-18 | 1994-02-02 | 日本電気株式会社 | 演算装置 |
JPS62187933A (ja) * | 1987-02-06 | 1987-08-17 | Hitachi Ltd | 加減算装置 |
JPS63310019A (ja) * | 1987-06-11 | 1988-12-19 | Matsushita Electric Ind Co Ltd | デ−タ処理装置 |
JPS6418344A (en) * | 1987-07-14 | 1989-01-23 | Fujitsu General Ltd | Telephone set |
JPS6423806A (en) * | 1987-07-16 | 1989-01-26 | Iseki Agricult Mach | Steering unit for movable farm machine |
JPH0216632A (ja) * | 1988-07-05 | 1990-01-19 | Fujitsu Ltd | 固定小数点数−浮動小数点数変換回路 |
JPH0353650A (ja) * | 1989-07-20 | 1991-03-07 | Nec Corp | 音声会議装置 |
JPH02224021A (ja) * | 1989-07-21 | 1990-09-06 | Hitachi Ltd | 加減算装置 |
JPH0357487A (ja) * | 1989-07-26 | 1991-03-12 | Brother Ind Ltd | 脱水乾燥洗たく機 |
JPH03176730A (ja) * | 1989-12-06 | 1991-07-31 | Nissan Motor Co Ltd | 浮動小数点演算器 |
JPH045727A (ja) * | 1990-04-23 | 1992-01-09 | Mitsubishi Electric Corp | 変換装置 |
JPH0429092A (ja) * | 1990-05-25 | 1992-01-31 | Toshiba Corp | 原子炉圧力容器の焼なまし装置 |
JPH04281524A (ja) * | 1991-03-11 | 1992-10-07 | Kawasaki Steel Corp | 浮動小数点演算処理装置 |
US5848187A (en) * | 1991-11-18 | 1998-12-08 | Compaq Computer Corporation | Method and apparatus for entering and manipulating spreadsheet cell data |
JPH05274116A (ja) * | 1992-03-26 | 1993-10-22 | Matsushita Electric Ind Co Ltd | 浮動小数点演算装置 |
US5600584A (en) * | 1992-09-15 | 1997-02-04 | Schlafly; Roger | Interactive formula compiler and range estimator |
JPH07248841A (ja) * | 1994-03-09 | 1995-09-26 | Mitsubishi Electric Corp | 非線形関数発生装置およびフォーマット変換装置 |
US5553215A (en) * | 1994-09-21 | 1996-09-03 | Microsoft Corporation | Method and system of sharing common formulas in a spreadsheet program and of adjusting the same to conform with editing operations |
US5561615A (en) * | 1994-12-02 | 1996-10-01 | Hewlett-Packard Company | Method and apparatus for floating point to fixed point conversion with compensation for lost precision |
US5842180A (en) * | 1996-03-28 | 1998-11-24 | Microsoft Corporation | Method and system for detecting and correcting errors in a spreadsheet formula |
US5819293A (en) * | 1996-06-06 | 1998-10-06 | Microsoft Corporation | Automatic Spreadsheet forms |
-
1997
- 1997-06-03 JP JP9145017A patent/JP3029812B2/ja not_active Expired - Fee Related
- 1997-11-20 US US08/975,282 patent/US6055648A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10333880A (ja) | 1998-12-18 |
US6055648A (en) | 2000-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3029812B2 (ja) | 演算エラー復旧方法およびその装置,並びにその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US5479167A (en) | Character code conversion unit | |
JPS5825287B2 (ja) | ニユウリヨクホウシキ | |
JPS6038750B2 (ja) | ワ−ドプロセッサにおける文字插入方法 | |
JPS63113634A (ja) | プログラムカウンタ相対アドレス計算方式 | |
JP2815261B2 (ja) | 複素数計算機能付き電子機器 | |
JP2905552B2 (ja) | キーボードコントロール方式 | |
JPH05134888A (ja) | 情報処理装置 | |
JP2972223B2 (ja) | ジャーナル無し順処理ファイルのロールバック方式 | |
JP3940771B2 (ja) | 入力とチェックの手間を最小限にする計算の処理方法 | |
CN113656038A (zh) | 编辑处理方法及装置 | |
JP3139011B2 (ja) | 固定小数点プロセッサ | |
JPH04106652A (ja) | 例外処理システム | |
JP2928128B2 (ja) | Cpu周辺装置のシミュレーション方式およびその方法 | |
JPH044403A (ja) | プログラマブルコントローラの周辺装置 | |
JP2002108611A (ja) | プログラム変換装置およびプログラム変換方法 | |
JPH03237552A (ja) | 演算回路 | |
JPH04130571A (ja) | 数値演算方式 | |
JPH04132540U (ja) | スタツクポインタ制御回路 | |
JPH10149357A (ja) | アンドゥ処理装置及びアンドゥ処理方法 | |
JPS59178566A (ja) | ジヨブ実行待時間情報表示装置 | |
JP2000090068A (ja) | 年変換および演算装置 | |
JPH07120286B2 (ja) | 浮動小数点関数擬似命令処理方法 | |
JPS62222324A (ja) | 端末装置 | |
JPH02197927A (ja) | データ処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120204 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |