(57)【要約】【課題】商品やサービスの広告を実際の販売実績に効率的に結びつけることが望まれている。【解決手段】移動体上に設けられた広告を端末装置により撮影し、広告の撮影画像データとユーザを識別するユーザ情報とを含む注文依頼情報をサーバ装置に送信し、サーバ装置において、受信した前記撮影画像データより注文商品を検索して注文を受注するようにした受注システム。端末装置は、一旦送信先検索装置に送信し、その後、注文依頼情報がサーバ装置に届くようにしてもよい。固定された広告を端末装置が撮影し、注文依頼情報を送信してもよい。【選択図】図１
2004334906.tif 000002
【特許請求の範囲】
【請求項１】
端数処理される数値ｘと丸めの幅ｗとを入力するための入力手段と、入力された数値ｘを各桁毎に記憶する数値記憶手段と、入力された丸めの幅ｗを記憶する丸め幅記憶手段と、前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁より下位の桁から構成される下位数値ｙを抽出する下位数値抽出手段と、前記丸め幅記憶手段に記憶されている丸めの幅ｗと前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値とを比較した結果に基づいて、前記数値記憶手段に記憶されている数値ｘを、前記丸め幅記憶手段に記憶されている丸めの幅ｗの整数倍の系列の中から選んだ数値に置き換える端数処理手段とを備える端数処理装置。
【請求項２】
前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁に格納されている丸め数値ａを抽出する丸め数値抽出手段をさらに備え、前記端数処理手段は、前記丸め数値抽出手段により抽出された丸め数値ａを２で割ったときの剰余ｂを算出する剰余算出手段と、前記丸め幅記憶手段に記憶されている丸めの幅ｗが前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値より小さい場合、又は、前記丸め幅記憶手段に記憶されている丸めの幅ｗが前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値に等しく、且つ、前記剰余算出手段により算出された剰余ｂが１の場合、前記丸め数値抽出手段により抽出された丸め数値ａに１を加算する加算手段と、前記下位数値抽出手段により抽出された下位数値ｙを切り捨てる切り捨て手段とを備える請求項１記載の端数処理装置。
【請求項３】
端数処理される数値ｘと丸めの幅ｗとを入力する第一のステップと、入力された数値ｘを各桁毎に数値記録部に記憶する第二のステップと、入力された丸めの幅ｗを丸め幅記憶部に記憶する第三のステップと、前記数値記憶部に記憶されている数値ｘのうち、前記丸め幅記憶部に記憶されている丸めの幅ｗに対応する桁より下位の桁から構成される下位数値ｙを抽出する第四のステップと、前記丸め幅記憶部に記憶されている丸めの幅ｗと前記第四のステップで抽出された下位数値ｙを２倍した数値とを比較した結果に基づいて、前記数値記憶部に記憶されている数値ｘを、前記丸め幅記憶部に記憶されている丸めの幅ｗの整数倍の系列の中から選んだ数値に置き換える第五のステップとを含む端数処理方法。
【請求項４】
端数処理される数値ｘと丸めの幅ｗとを入力するための入力手段、入力された数値ｘを各桁毎に記憶する数値記憶手段、入力された丸めの幅ｗを記憶する丸め幅記憶手段、前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁より下位の桁から構成される下位数値ｙを抽出する下位数値抽出手段、前記丸め幅記憶手段に記憶されている丸めの幅ｗと前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値とを比較した結果に基づいて、前記数値記憶手段に記憶されている数値ｘを、前記丸め幅記憶手段に記憶されている丸めの幅ｗの整数倍の系列の中から選んだ数値に置き換える端数処理手段としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析、計測、調査等に必要な端数処理を行う端数処理装置及び方法並びにそのためのプログラムを記録した記録媒体に関し、より詳細には、丸めの幅による数値丸めを行う端数処理装置及び方法並びにそのためのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
一般に、四捨五入等に代表される端数処理は広く行われており、例えば、実験データの整理、会計処理等を挙げることができる。四捨五入を行う処理は、高級言語やデータ処理ソフトにおいては関数として用意されていることが多く、ユーザーは、数値と処理する桁の位置とを指定することにより、四捨五入された数値を得ることが可能である。
【０００３】
図６に従来の四捨五入関数が行う処理を示す。まず、ユーザーが処理する数値ｘと処理する桁の位置ｐを入力する（ステップＳ６０１）。処理する桁の位置ｐは、例えば、百の位であれば−２、整数にするのであれば０、小数点以下第３位であれば＋３のようにして指定する方法が挙げられる。次に、与えられた数値ｘを各桁毎にメモリに格納し（ステップＳ６０２）、指定された桁の位置ｐの１つ右の桁の数値をメモリから取得し（ステップＳ６０３）、該数値が５以上であるか否かを判別する（ステップＳ６０４）。そして、判別結果が５以上となった時には切り上げ処理を行い（ステップＳ６０５）、５以上でない時には切り捨て処理を行う（ステップＳ６０６）。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来の端数処理には以下の問題点があった。
（１）丸めの幅を直接用いた端数処理を行うことができない。
【０００５】
丸めの幅を用いた端数処理は、国際規格であるＩＳＯ 31-0:1992(E)の付録BGuide to the rounding of numbersに基づくものであり、丸めの幅を用いた端数処理とは、与えられた数値を、ある一定の丸めの幅の整数倍の系列の中から選んだ数値に置き換えることをいう。例えば、丸めの幅が０．１の場合、１２．８４９は、１２．８に、１３．４５１は１３．５に丸められ、丸めの幅が１０の場合、１２８４．９は１２８０に、１３４５．１は１３５０に丸められる。従って、丸めの幅を用いた端数処理で最初に入力されるのは、処理する桁の位置ではなく、丸めの幅である。しかしながら、現在市販されている表計算ソフトは、もともと丸めの幅による端数処理という概念を持っておらず、丸めの幅を直接入力して端数処理することはできなかった。従って、丸めの幅を用いて従来の端数処理を行うためには、丸めの幅を処理する桁の位置に変換する新たな処理が必要になり、処理が複雑化して処理時間が増えるという問題があった。
（２）ＪＩＳ規格に対応できない。
【０００６】
単純な四捨五入では、データの数字によって結果に偏りが生じてしまうため、その偏りを補正して丸め誤差を最小にする端数処理、即ち丸めが必要となる。ＪＩＳ規格では、そのための丸め方法を定めており、例えば官公庁に提出する資料等では、このＪＩＳ規格に従って、数値の丸めを行わなければならない場合が多い。
【０００７】
図７にＪＩＳ規格（Ｚ８４０１）で定める丸め方法を示す。これは、基本的には四捨六入を行い、残った５について振り分け処理を行うものである。ある数値を有効数字ｎ桁の数値に丸める場合には（ｎ＋１）桁目以下の数値を、次のように整理する。
（ａ）（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２未満の場合には切り捨てる。
（ｂ）（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２を越える場合にはｎ桁目を１単位だけ増す。
（ｃ）（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２である場合には次の（ｉ）、（ii）のようにする。
(ｉ)ｎ桁目の数値が、０、２、４、６、８であれば切り捨てる。
(ii)ｎ桁目の数値が、１、３、５、７、９であれば、ｎ桁目を１単位だけ増す。
【０００８】
ここで、有効数字とは、０でない最高位の数字の位から数えたものとする。また、この丸め方は、１段階に行わなければならない。例えば、５．３４６をこの方法で有効数字２桁に丸めれば、５．３となる。これを２段階に分けてしまうと１段階目で５．３５、２段階目で５．４となってしまう。
【０００９】
処理手順としては、まず、数値の桁を判断し（ステップＳ７０１）、（ｎ＋１）桁目の数字が６以上か否かを判別し（ステップＳ７０２）、６以上であればｎ桁目を１だけ増し、（ｎ＋１）桁目以降を切り捨てる（ステップＳ７０６）。例えば、これに従って１３．４６１を有効数字３桁に丸めるのであれば、１３．５とする。
【００１０】
次に、（ｎ＋１）桁目の数字が４以下であるか否かを判別し（ステップＳ７０３）、４以下である場合には（ｎ＋１）桁目以降を切り捨てる（ステップＳ７０７）。例えば、１２．８４９を有効数字３桁に丸めるのであれば、１２．８とする。
【００１１】
そして、（ｎ＋１）桁目が６以上でも４以下でもない場合、すなわち（ｎ＋１）桁目が５である場合には、（ｎ＋２）桁目以降が全て０であるか否かを判別し（ステップＳ７０４）、（ｎ＋２）桁目以降に０以外の数があれば、ｎ桁目を１だけ増し、（ｎ＋１）桁目以降を切り捨てる（ステップＳ７０６）。例えば、これに従って１３．４５１を有効数字３桁に丸めるのであれば、１３．５とする。
【００１２】
一方、（ｎ＋２）桁目以降が全て０である場合には、ｎ桁目が偶数であるか奇数であるかを判別する（ステップＳ７０５）。その結果、ｎ桁目が偶数である場合には、（ｎ＋１）桁目以降を切り捨てる（ステップＳ７０７）。例えば、１１．４５０を有効数字３桁に丸めるのであれば、１１．４とする。逆に、ｎ桁目が奇数である場合には、ｎ桁目を１だけ増し、（ｎ＋１）桁目以降を切り捨てる（ステップＳ７０６）。例えば、１２．７５０を有効数字３桁に丸めるのであれば、１２．８とする。
【００１３】
しかしながら、上記の端数処理においても、丸めの幅を直接入力して端数処理することはできず、丸めの幅を用いて従来の端数処理を行うためには、丸めの幅を桁の位置に変換する新たな処理が必要になり、この場合も処理が複雑化して処理時間が増えるという問題があった。
本発明の目的は、丸めの幅をそのまま用いて端数処理を行うことができる端数処理装置等を提供することである。
本発明の他の目的は、丸めの幅をそのまま用いてＪＩＳ規格のように丸め誤差を最小にする端数処理を行うことができる端数処理装置等を提供することである。
【課題を解決するための手段】
【００１４】
本発明の端数処理装置は、端数処理される数値ｘと丸めの幅ｗとを入力するための入力手段と、入力された数値ｘを各桁毎に記憶する数値記憶手段と、入力された丸めの幅ｗを記憶する丸め幅記憶手段と、前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁より下位の桁から構成される下位数値ｙを抽出する下位数値抽出手段と、前記丸め幅記憶手段に記憶されている丸めの幅ｗと前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値とを比較した結果に基づいて、前記数値記憶手段に記憶されている数値ｘを、前記丸め幅記憶手段に記憶されている丸めの幅ｗの整数倍の系列の中から選んだ数値に置き換える端数処理手段とを備えるものである。
【００１５】
上記の構成により、丸めの幅ｗと下位数値ｙを２倍した数値と比較することにより、下位数値ｙの最上位桁の数値が５より大きいか、等しいか又は小さいかを判断することができ、丸めの幅を桁の位置に変換することなく、丸めの幅をそのまま用いて端数処理を行うことができる。
【００１６】
また、前記端数処理装置は、前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁に格納されている丸め数値ａを抽出する丸め数値抽出手段をさらに備え、前記端数処理手段は、前記丸め数値抽出手段により抽出された丸め数値ａを２で割ったときの剰余ｂを算出する剰余算出手段と、前記丸め幅記憶手段に記憶されている丸めの幅ｗが前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値より小さい場合、又は、前記丸め幅記憶手段に記憶されている丸めの幅ｗが前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値に等しく、且つ、前記剰余算出手段により算出された剰余ｂが１の場合、前記丸め数値抽出手段により抽出された丸め数値ａに１を加算する加算手段と、前記下位数値抽出手段により抽出された下位数値ｙを切り捨てる切り捨て手段とを備えることが好ましい。
【００１７】
この場合、さらに、剰余ｂが１であるか否かを判断することにより、丸め数値ａが偶数であるか否かを判断することができるので、丸めの幅をそのまま用いてＪＩＳ規格のように丸め誤差を最小にする端数処理を行うことができる。また、上記の処理では、乗算する数値及び除算する数値として２を用いているので、２進法の場合、シフト演算のみで乗算及び除算を行うことができ、より単純な処理で端数処理することができ、プログラムの作製が容易となると共に、処理時間も短縮することができる。
【００１８】
また、本発明の端数処理方法は、端数処理される数値ｘと丸めの幅ｗとを入力する第一のステップと、入力された数値ｘを各桁毎に数値記録部に記憶する第二のステップと、入力された丸めの幅ｗを丸め幅記憶部に記憶する第三のステップと、前記数値記憶部に記憶されている数値ｘのうち、前記丸め幅記憶部に記憶されている丸めの幅ｗに対応する桁より下位の桁から構成される下位数値ｙを抽出する第四のステップと、前記丸め幅記憶部に記憶されている丸めの幅ｗと前記第四のステップで抽出された下位数値ｙを２倍した数値とを比較した結果に基づいて、前記数値記憶部に記憶されている数値ｘを、前記丸め幅記憶部に記憶されている丸めの幅ｗの整数倍の系列の中から選んだ数値に置き換える第五のステップとを含むものである。
【００１９】
また、前記端数処理方法は、前記数値記憶部に記憶されている数値ｘのうち、前記丸め幅記憶部に記憶されている丸めの幅ｗに対応する桁に格納されている丸め数値ａを抽出する第六のステップをさらに含み、前記第五のステップは、前記第六のステップで抽出された丸め数値ａを２で割ったときの剰余ｂを算出する第七のステップと、前記丸め幅記憶部に記憶されている丸めの幅ｗが前記第四のステップで抽出された下位数値ｙを２倍した数値より小さい場合、又は、前記丸め幅記憶部に記憶されている丸めの幅ｗが前記第四のステップで抽出された下位数値ｙを２倍した数値に等しく、且つ、前記第七のステップで算出された剰余ｂが１の場合、前記第六のステップで抽出された丸め数値ａに１を加算する第八のステップと、前記第四のステップで抽出された下位数値ｙを切り捨てる第九のステップとを含むことが好ましい。
【００２０】
また、本発明のコンピュータ読み取り可能な記録媒体は、端数処理される数値ｘと丸めの幅ｗとを入力するための入力手段、入力された数値ｘを各桁毎に記憶する数値記憶手段、入力された丸めの幅ｗを記憶する丸め幅記憶手段、前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁より下位の桁から構成される下位数値ｙを抽出する下位数値抽出手段、前記丸め幅記憶手段に記憶されている丸めの幅ｗと前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値とを比較した結果に基づいて、前記数値記憶手段に記憶されている数値ｘを、前記丸め幅記憶手段に記憶されている丸めの幅ｗの整数倍の系列の中から選んだ数値に置き換える端数処理手段としてコンピュータを機能させるためのプログラムを記録したものである。
【００２１】
また、前記記録媒体は、さらに、前記数値記憶手段に記憶されている数値ｘのうち、前記丸め幅記憶手段に記憶されている丸めの幅ｗに対応する桁に格納されている丸め数値ａを抽出する丸め数値抽出手段としてコンピュータを機能させるためのプログラムを記録され、前記端数処理手段は、前記丸め数値抽出手段により抽出された丸め数値ａを２で割ったときの剰余ｂを算出する剰余算出手段と、前記丸め幅記憶手段に記憶されている丸めの幅ｗが前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値より小さい場合、又は、前記丸め幅記憶手段に記憶されている丸めの幅ｗが前記下位数値抽出手段により抽出された下位数値ｙを２倍した数値に等しく、且つ、前記剰余算出手段により算出された剰余ｂが１の場合、前記丸め数値抽出手段により抽出された丸め数値ａに１を加算する加算手段と、前記下位数値抽出手段により抽出された下位数値ｙを切り捨てる切り捨て手段とを備えることが好ましい。
【発明の効果】
【００２２】
本発明の端数処理装置等では、丸めの幅ｗと下位数値ｙを２倍した数値と比較することにより、下位数値ｙの最上位桁の数値が５より大きいか、等しいか又は小さいかを判断することができるので、丸めの幅をそのまま用いて端数処理を行うことができる。
【００２３】
また、本発明の端数処理装置等では、さらに、剰余ｂが１であるか否かを判断することにより、丸め数値ａが偶数であるか否かを判断することができるので、丸めの幅をそのまま用いてＪＩＳ規格のように丸め誤差を最小にする端数処理を行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下、添付図面を参照しつつ本発明の好適な実施形態について説明する。図１は本発明の一実施の形態の端数処理装置の構成を示すブロック図である。
【００２５】
図１に示すように、端数処理装置は、入力部１、記憶部２、抽出部３、端数処理部４、及び出力部５を備える。記憶部２は、数値記憶部２１及び丸め幅記憶部２２を備える。抽出部３は、下位数値抽出部３１及び丸め数値抽出部３２を備える。端数処理部４は、剰余算出部４１、加算部４２及び切り捨て部４３を備える。
【００２６】
入力部１は、端数処理される数値ｘと丸めの幅ｗとを入力するために使用される。数値記憶部２１は、入力された数値ｘを各桁毎に記憶し、丸め幅記憶部２２は、入力された丸めの幅ｗを記憶する。下位数値抽出部３１は、数値記憶部２１に記憶されている数値ｘのうち、丸め幅記憶部２２に記憶されている丸めの幅ｗに対応する桁より下位の桁により構成される下位数値ｙを抽出する。丸め数値抽出部３２は、数値記憶部２１に記憶されている数値ｘのうち、丸め幅記憶部２２に記憶されている丸めの幅ｗに対応する桁に格納される丸め数値ａを抽出する。剰余算出部４１は、丸め数値抽出部３２により抽出された丸め数値ａを２で割ったときの剰余ｂを算出する。加算部４２は、丸め幅記憶部２２に記憶されている丸めの幅ｗが下位数値抽出部３１により抽出された下位数値ｙを２倍した数値より小さい場合、又は、丸め幅記憶部２２に記憶されている丸めの幅ｗが下位数値抽出部３１により抽出された下位数値ｙを２倍した数値に等しく、且つ、剰余算出部４１により算出された剰余ｂが１の場合、丸め数値抽出部３２により抽出された丸め数値ａに１を加算し、数値記憶部２１に格納されている丸め数値ａを書き換える。切り捨て部４３は、下位数値抽出部３２により抽出された下位数値ｙを切り捨て、数値記憶部２１の下位数値ｙを構成する各桁に格納されている数値を０に書き換える。出力部５は、数値記憶部２１に格納されている書き換え後の各数値から構成される数値を端数処理後の数値として出力する。なお、数値記憶部２１の各数値を書き換えることなく、数値記憶部２１とは別個に端数処理後の数値を格納する端数処理後数値記憶部を記憶部２に設けてもよい。
次に、上記の端数処理装置をコンピュータを用いて実現したときのハードウエア構成の一例を図２に示す。
【００２７】
図２に示すように、端数処理装置は、入力装置１１、表示装置１２、外部記憶装置１３、記録媒体１４、ＲＡＭ１５、ＣＰＵ１６、ＲＯＭ１７、印刷装置１８、バスライン１９を備える。入力装置１１は、例えば、テンキーを備えるキーボード、マウス等から構成され、ユーザーが所望の処理を選択したり、端数処理される数値ｘ及び丸めの幅ｗを入力するために使用される。入力されたデータ等は、バスライン１９を介してＣＰＵ１６に伝送され、必要に応じてＲＡＭ１５又は外部記憶装置１３の記録媒体１４に記憶される。表示装置１２は、例えば、液晶表示装置、ＣＲＴ等から構成され、所定の画面を表示する。外部記憶装置１３は、例えば、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭドライブ、光磁気ディスクドライブ等から構成され、ＣＰＵ１６により処理されたデータ等を、ハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、光磁気ディスク等からなる記憶媒体１４に記録したり、記録媒体１４に記録されているデータ等をＣＰＵ１６へ出力する。ＲＡＭ１５には、ＣＰＵ１６が処理したデータ等が記憶され、該データ等は必要に応じてＣＰＵ１６により読み出される。ＲＯＭ１７又は記憶媒体１４には、図１に示す端数処理装置の各機能を実行するためのプログラム等が記憶され、ＣＰＵ１６は、このプログラムに従いバスライン１９を介して各部を制御する。印刷装置１８は、レーザープリンタ等から構成され、ＣＰＵ１６により処理されたデータ等を印字して出力する。
【００２８】
上記のように構成された図２に示す端数処理装置と、図１に示す端数処理装置との対応関係は、例えば、以下のようになる。入力部１が入力装置１１、ＲＡＭ２４又は外部記憶装置２３に対応し、記憶部２がＲＡＭ２４又は外部記憶装置２３に対応し、抽出部３及び端数処理部４がＣＰＵ１６に対応する。出力部５が表示装置１２又は印刷装置１８に対応する。なお、以下に説明する端数処理に対応するプログラムは、ＲＯＭ１６に予め記憶されていてもよいし、外部記憶装置１３を用いて、ＣＤ−ＲＯＭ、フロッピーディスク、光磁気ディスク、半導体メモリを用いた記憶媒体等の記録媒体１４からインストールされるようにしてもよい。
【００２９】
また、上記のコンピュータとしては、特に限定されず、通常のコンピュータを用いることができ、例えば、サーバー、デスクトップ・パソコン、ラップトップ・コンピュータ、携帯用情報端末等を用いることができ、さらに、マイクロコンピュータ等を備える分析機器、計測機器等であってもよい。また、使用されるプログラム言語も特に限定されず、種々の言語で記述することができる。なお、分析機器、計測機器等の場合、実験等の測定結果や計算結果等の数値データを格納する計算・計測結果記憶部等を外部記憶装置１３の記録媒体１４又はＲＡＭ１５に設けてもよい。
次に、上記のように構成された端数処理装置により実行される端数処理について詳細に説明する。図３は、図１に示す端数処理装置の端数処理を説明するためのフローチャートである。
【００３０】
図３に示すように、まず、ステップＳ１において、入力部５により端数処理される数値ｘ及び丸めの幅ｗが入力され、入力された数値ｘは、数値ｘを構成する各桁毎の数値が各々数値記憶部２１に格納され、丸めの幅ｗは、丸め幅記憶部２２に格納される。ここで、数値ｘは、オペレータが入力部１を用いて直接入力するようにしてもよいし、計測機器等の場合、記憶部２の計算・計測結果記憶部等に格納されている数値を数値記憶部２１及び丸め幅記憶部２２へ入力するようにしてもよい。
【００３１】
次に、ステップＳ２において、丸め数値抽出部３２は、数値記憶部２１から丸めの幅ｗに対応する桁に格納されている丸め数値ａを抽出する。例えば、数値ｘとして１２．３５４が、丸めの幅ｗとして０．１が入力された場合、数値記憶部２１に格納されている、「１」、「２」、「３」、「５」及び「４」のうち、丸めの幅０．１に対応する桁の数値すなわち小数点以下第一位の桁の数値「３」が抽出される。
【００３２】
次に、ステップＳ３において、剰余算出部４１により丸め数値ａが２で除算され、その剰余ｂが算出される。なお、剰余ｂは、０又は１であり、０の場合、丸め数値ａは偶数であり、１の場合は、丸め数値ａは奇数であることがわかる。
【００３３】
次に、ステップＳ４において、下位数値抽出部３１は、丸めの幅ｂに対応する桁より下位の桁から構成される下位数値ｙを抽出する。例えば、数値ｘとして１２．３５４が、丸めの幅ｗとして０．１が入力された場合、数値記憶部２１に格納されている、「１」、「２」、「３」、「５」及び「４」のうち、丸めの幅０．１に対応する桁より下位の桁である、「５」及び「４」から構成される下位数値０．０５４が抽出される。
【００３４】
次に、ステップＳ５において、加算部４２により、丸めの幅ｗが下位数値ｙを２倍した数値より小さいか否か、又は、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが１であるか否かが判断され、丸めの幅ｗが下位数値ｙを２倍した数値より小さい場合、及び、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが１の場合、ステップＳ６へ移行する。上記以外の場合、すなわち、丸めの幅ｗが下位数値ｙを２倍した数値より大きい場合、及び、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが０の場合、ステップＳ７へ移行する。
【００３５】
ここで、上記のＪＩＳ規格での数値の丸め方と対比すると、丸めの幅ｗが下位数値ｙを２倍した数値より小さい場合とは、（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２を越える場合すなわちｎ桁目を１単位だけ増す場合であり、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが１の場合とは、（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２であり且つｎ桁目の数値が、１、３、５、７、９の場合すなわちｎ桁目を１単位だけ増す場合である。一方、丸めの幅ｗが下位数値ｙを２倍した数値より大きい場合とは、（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２未満の場合すなわち切り捨てる場合であり、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが０の場合とは、（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２であり且つｎ桁目の数値が、０、２、４、６、８の場合すなわち切り捨てる場合である。従って、上記の判断処理は、ＪＩＳ規格による数値の丸め処理の判断処理に適合するものである。
【００３６】
ステップＳ５で、丸めの幅ｗが下位数値ｙを２倍した数値より小さい、又は、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが１であると判断された場合、ステップＳ６において、丸め数値ａに１を加算し、数値記憶部２１に格納されている丸め数値ａを書き換える。なお、加算時に桁の繰り上がりがある場合は、丸め数値ａを０に書き換え、丸め数値ａの一つ上位の桁の数値に１を加算して該数値を書き換える。
次に、ステップＳ７において、下位数値ｙを切り捨て、数値記憶部２１に格納されている下位数値ｙを構成する各数値を０に書き換える。
最後に、ステップＳ８において、数値記憶部２１に格納されている書き換え後の各数値から構成される数値、すなわち数値ｘを端数処理した数値が出力される。
【００３７】
上記のステップＳ５〜Ｓ７により、丸めの幅ｗが下位数値ｙを２倍した数値より小さい場合すなわち（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２を越える場合、及び、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが１の場合すなわち（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２であり且つｎ桁目の数値が、１、３、５、７、９の場合、丸め数値ａに１が加算されるとともに、下位数値ｙが切り捨てられ、切り上げ処理が実行される。
【００３８】
一方、丸めの幅ｗが下位数値ｙを２倍した数値より大きい場合すなわち（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２未満の場合、及び、丸めの幅ｗが下位数値ｙを２倍した数値に等しく且つ剰余ｂが０の場合すなわち（ｎ＋１）桁目以下の数値がｎ桁目の１単位の１／２であり且つｎ桁目の数値が、０、２、４、６、８の場合、丸め数値ａはそのままで下位数値ｙが切り捨てられ、切り捨て処理が行われる。
【００３９】
従って、上記の処理により、丸めの幅を桁の位置に変換することなく、丸めの幅をそのまま比較処理に用いることができるとともに、ＪＩＳ規格のように丸め誤差を最小にする端数処理を行うことができる。また、上記の処理では、乗算する数値及び除算する数値として２を用いているので、２進法の場合、シフト演算のみで乗算及び除算を行うことができ、より少ないステップ数で端数処理を行うことができ、プログラムの作製が容易となると共に、処理時間も短縮することができる。
【００４０】
次に、本発明の他の実施の形態の端数処理装置について説明する。図４は、本発明の他の実施の形態の端数処理装置の構成を示すブロック図である。図４に示す端数処理装置は、丸めの幅をそのまま用いて四捨五入による端数処理を行うものであり、図１に示す端数処理装置の剰余算出部４１が不要となり、加算部４２が加算時の判断条件が異なる加算部４２ａに変更された点を除き、図１に示す端数処理装置と同様であるので、同一部分には同一符号を付し、以下詳細な説明を省略する。また、図４に示す端数処理装置をコンピュータを用いて実現したときのハードウエア構成も図２に示すものとほぼ同様であるので図示及び詳細な説明を省略する。
【００４１】
図４に示すように、端数処理部４ａは、加算部４２ａ及び切り捨て部４３を備え、加算部４２ａは、丸め幅記憶部２２に記憶されている丸めの幅ｗが下位数値抽出部３１により抽出された下位数値ｙを２倍した数値以下の場合、丸め数値抽出部３２により抽出された丸め数値ａに１を加算し、数値記憶部２１に格納されている丸め数値ａを書き換える。
【００４２】
次に、上記のように構成された端数処理装置により実行される端数処理について説明する。図５は、図４に示す端数処理装置の端数処理を説明するためのフローチャートである。図５に示すフローチャートは、図３に示すフローチャートのスッテプＳ３が削除され、ステップＳ５がステップＳ９に変更された点を除き、図３に示すフローチャートと同様であるので、以下異なる点のみを説明する。
【００４３】
図５に示すように、ステップＳ１、Ｓ２、Ｓ４において、図３に示すステップＳ１、Ｓ２、Ｓ４と同様の処理が行われ、ステップＳ９において、丸めの幅ｗが下位数値ｙを２倍した数値以下であるか否かが判断され、丸めの幅ｗが下位数値ｙを２倍した数値以下の場合、ステップＳ６へ移行し、上記以外の場合、すなわち、丸めの幅ｗが下位数値ｙを２倍した数値より大きい場合、ステップＳ７へ移行する。ここで、丸めの幅ｗが下位数値ｙを２倍した数値以下の場合とは、下位数値ｙの最上位の数値が５以上の場合すなわち四捨五入の切り上げ処理を行う場合である。一方、丸めの幅ｗが下位数値ｙを２倍した数値より大きい場合とは、下位数値ｙの最上位の数値が４以下の場合すなわち四捨五入の切り捨て処理を行う場合である。
【００４４】
次に、ステップＳ６〜Ｓ８において、図３のステップＳ６〜Ｓ８と同様の処理が行われ、最終的に、数値記憶部２１に格納されている書き換え後の各数値から構成される数値、すなわち数値ｘを四捨五入による端数処理した数値が出力される。従って、本実施の形態でも、丸めの幅を桁の位置に変換することなく、丸めの幅をそのまま比較処理に用いて端数処理を行うことができる。また、上記の処理でも、乗算する数値として２を用いているので、２進法の場合、シフト演算のみで乗算を行うことができ、より少ないステップ数で端数処理することができ、プログラムの作製が容易となると共に、処理時間も短縮することができる。
【００４５】
上記のように、本発明に従う端数処理装置では、プログラムの作製が容易となると共に、処理時間も短縮することができ、このことは、コンピュータの処理能力に関係なくソフトウエア化できることを意味しており、本発明に係る処理手順は、端数処理を行う様々な分野に適用することができる。本発明の応用分野としては、以下のものを例示することができる。１．表計算ソフトウエアに関数として組み込む。
表計算ソフトウエアとしては、EXCEL、Lotus 1-2-3、三四郎等を挙げることができる。２．分析・計測・計算ソフトウエアに組み込む。
このようなソフトウエアには、窒素酸化物濃度を求めるソフトウエア、薬品の成分濃度を求めるソフトウエア等が含まれる。３．分析・計測機器に組み込む。
このような機器としては、電気化学分析機器、光化学分析機器、電磁気分析機器、分離分析機器、熱分析機器等を挙げることができる。４．物理量・物性測定機に組み込む。
これには、物理量・物性測定器、温度・湿度・露点計、測光・測色機器等が含まれる。５．特殊機器に組み込む。
例えば、開発関連機器、バイオ関連機器、農林・水産・畜産関連機器、気象観測機器、海洋観測機器等に組み込むこともできる。６．国際規格ＩＳＯ９０００やＩＳＯ１４０００の審査登録取得作業に組み込む。
例えば、試験、測定及び監視用ハードウェアや試験、測定及び監視用ソフトウエア等に組み込むこともできる。
【産業上の利用可能性】
【００４６】
以上のように、本発明にかかる端数処理装置、方法等は、適切な端数処理を行うことができ、表計算ソフトウエア、窒素酸化物濃度を求めるソフトウエア、薬品の成分濃度を求めるソフトウエア等、分析・計測機器、開発関連機器、バイオ関連機器、農林・水産・畜産関連機器、気象観測機器、海洋観測機器等、試験、測定及び監視用ハードウェアや試験、測定及び監視用ソフトウエア等として有用である。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施の形態の端数処理装置の構成を示すブロック図である。
【図２】図１に示す端数処理装置をコンピュータを用いて実現したときのハードウエア構成の一例を示すブロック図である。
【図３】図１に示す端数処理装置の端数処理を説明するためのフローチャートである。
【図４】本発明の他の実施の形態の端数処理装置の構成を示すブロック図である。
【図５】図４に示す端数処理装置の端数処理を説明するためのフローチャートである。
【図６】四捨五入を行う場合の従来の処理手順を示すフローチャートである。
【図７】ＪＩＳ規格に定める数値丸めを従来の処理手順を用いてコンピュータで処理する場合のフローチャートである。
【符号の説明】
【００４８】
１ 入力部
２ 記憶部
３ 抽出部
４、４ａ 端数処理部
５ 出力部
２１ 数値記憶部
２２ 丸め幅記憶部
３１ 下位数値抽出部
３２ 丸め数値抽出部
４１ 剰余算出部
４２、４２ａ 加算部
４３ 切り捨て部
【図１】
2004334906.tif 000003
【図２】
2004334906.tif 000004
【図３】
2004334906.tif 000005
【図４】
2004334906.tif 000006
【図５】
2004334906.tif 000007
【図６】
2004334906.tif 000008
【図７】
2004334906.tif 000009