(57)【要約】      （修正有）【課題】シリアルポート、キーボード、バーコードリーダなどの入力装置から供給された２進数を示す文字列型のデータを、システムに搭載されるメモリ容量を抑えるなどの観点から、シンプルな方法で、整数型や浮動小数点型などの数値型のデータに変換（型変換）する。【解決手段】ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、文字データの判定結果に基づき、ｎ個の文字データを２進数以外の数字データに変換することとを含む。【選択図】図２
2014075013.tif 000002
【特許請求の範囲】
【請求項１】
ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、
前記文字データの判定結果に基づき、ｎ個の前記文字データを２進数以外の数字データに変換することと
を含むデータ変換方法。
【請求項２】
ｎ個の前記文字データを文字型の配列変数に格納し、その配列変数を用いてｎ個の前記文字データを判定する
請求項１に記載のデータ変換方法。
【請求項３】
前記文字データが１であるか否かをそれぞれ判定し、前記文字データが１である桁に対応づけられた重み付けを足し合わせることにより、前記数字データを求める
請求項１に記載のデータ変換方法。
【請求項４】
前記数字データは整数型の変数に格納される
請求項１に記載のデータ変換方法。
【請求項５】
前記数字データは１０進数の数値を示すものである
請求項１に記載のデータ変換方法。
【請求項６】
組み込みシステムに使用される
請求項１に記載のデータ変換方法。
【請求項７】
ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、
前記文字データの判定結果に基づき、ｎ個の前記文字データを２進数以外の数字データに変換することと
を含む演算を、コンピュータに実行させる
データ変換プログラム。
【請求項８】
ｎ桁の２進数を示すｎ個の文字データの各文字を判定する判定部と、
前記文字データの判定結果に基づき、ｎ個の前記文字データを２進数以外の数字データに変換する変換部と
を備えたデータ変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ変換に係り、特に、２進数を示す文字列型のデータを２進数以外の数値型のデータに変換するデータ変換方法、データ変換プログラム、およびデータ変換装置に関する。
【背景技術】
【０００２】
近年、電子機器はデジタル化が進んでいる。このような電子機器では、例えば、高レベル電圧を“１”、低レベル電圧を“０”に対応させ、これらの２値を利用した２進数を用いて情報の処理を行っている。一方、例えば、演算を行う場合には、１０進数や１６進数などを用いる方が便利な場合が多い。このような場合には、２進数から１０進数や１６進数などへの変換（進数変換）が必要になる。このような進数変換については、様々な方法が提案されている（例えば、特許文献１，２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−１７６７２９
【特許文献２】特開昭５８−５８６４５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えばシリアルポート、キーボード、バーコードリーダなどの入力装置から供給されたデータは、一般に２進数を示す文字列型のデータとして扱われる。このような文字列型のデータは、文字として扱われるため、加算や減算などの演算の対象とすることができない。また、文字列型のデータは１文字あたり１バイトのメモリを要する為、プログラムの実行サイズが大きくなり、処理に必要なメモリ量が大きくなってしまうおそれがある。よって、文字列型のデータを、整数型や浮動小数点型などの数値型のデータに変換（型変換）する必要がある。その際、システムに搭載されるメモリ容量を抑えるなどの観点から、シンプルな方法で変換することが望まれている。
【０００５】
本開示はかかる問題点に鑑みてなされたもので、その目的は、シンプルな方法で、２進数を示す文字列型のデータを、２進数以外の数値型のデータに変換するデータ変換方法、データ変換プログラム、およびデータ変換装置を提供することにある。
【課題を解決するための手段】
【０００６】
本開示のデータ変換方法は、ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、文字データの判定結果に基づき、ｎ個の文字データを２進数以外の数字データに変換することとを含むものである。
【０００７】
本開示のデータ変換プログラムは、ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、文字データの判定結果に基づき、ｎ個の文字データを２進数以外の数字データに変換することとを含む演算を、コンピュータに実行させるものである。
【０００８】
本開示のデータ変換装置は、ｎ桁の２進数を示すｎ個の文字データの各文字を判定する判定部と、文字データの判定結果に基づき、ｎ個の文字データを２進数以外の数字データに変換する変換部とを備えたものである。
【０００９】
本開示のデータ変換方法、データ変換プログラム、およびデータ変換装置では、ｎ桁の２進数を示すｎ個の文字データが、２進数以外の数字データに変換される。その際、ｎ個の文字データの各文字が判定され、その判定結果に基づいて変換が行われる。
【発明の効果】
【００１０】
本開示のデータ変換方法、データ変換プログラム、およびデータ変換装置によれば、各桁の値を示す文字を判定するようにしたので、シンプルな方法で、２進数を示す文字列型のデータを、２進数以外の数値型のデータに変換できる。
【図面の簡単な説明】
【００１１】
【図１】本開示の実施の形態に係るテレビジョン受像機システムの一構成例を表すブロック図である。
【図２】図１に示した制御部におけるデータ変換動作の一例を表す流れ図である。
【発明を実施するための形態】
【００１２】
以下、本開示の実施の形態について、図面を参照して詳細に説明する。
【００１３】
＜実施の形態＞
［構成例］
図１は、実施の形態に係るテレビジョン受像機システムの一構成例を表すものである。なお、本開示の実施の形態に係るデータ変換方法、データ変換プログラム、およびデータ変換装置は、本実施の形態により具現化されるので、併せて説明する。テレビジョン受像機システム１は、リモコン１０と、テレビジョン受像機２０とを備えている。
【００１４】
リモコン１０は、赤外線や電波などを用いて、テレビジョン受像機２０に対して情報を送信することにより、テレビジョン受像機２０を操作するものである。リモコン１０は、インターフェース部１１と、制御部１２と、送信部１３とを備えている。インターフェース部１１は、ユーザに対する入力インターフェースである。このインターフェース部１１は、例えばボタンなどを有し、ユーザはそのボタンを押すことにより、テレビジョン受像機２０を操作できるようになっている。制御部１２は、インターフェース部１１から供給される信号に基づいて、コマンドを生成し、送信部１３に供給するものである。送信部１３は、制御部１２から供給されたコマンドを、テレビジョン受像機２０に対して、赤外線や電波などを用いて送信するものである。
【００１５】
テレビジョン受像機２０は、受信部２１と、制御部２２と、チューナ部２３と、表示部２４とを備えている。受信部２１は、リモコン１０の送信部１３から送信されたコマンドを受信し、そのコマンドを、２進数を示す文字列型のデータＤ１として出力するものである。制御部２２は、受信部２１が受信したコマンドに基づいて、チューナ部２３を制御するものである。具体的には、制御部２２は、２進数を示す文字列型のデータＤ１として供給されたコマンドを、１０進数を示す整数型のデータＤ２に変換（データ変換）し、その変換されたデータＤ２に基づいてチューナ部２３を制御するための制御信号を生成する。チューナ部２３は、制御部２２から供給された制御信号に基づいて、アンテナ９により受信した放送波から所望のデータストリームを選択し抽出するものである。表示部２４は、チューナ部２３が抽出したデータストリームに基づいて画像を表示するものである。
【００１６】
このように、テレビジョン受像機システム１では、制御部２２は、受信部２１から供給された２進数を示す文字列型のデータＤ１を、１０進数を示す整数型のデータＤ２に変換し、その変換されたデータＤ２に基づいてチューナ２３を制御する。その際、制御部２２は、後述するように、型変換を行わずに、２進数を示す文字列型のデータＤ１を、１０進数を示す整数型のデータＤ２に直接変換するようになっている。これにより、制御部２２では、後述するように、演算の実行数（ステップ数）を削減することができ、処理に必要なメモリ量を抑えることができるようになっている。
【００１７】
ここで、データＤ１は、本開示における「ｎ個の文字データ」の一具体例に対応する。データＤ２は、本開示における「数字データ」の一具体例に対応する。
【００１８】
［動作および作用］
続いて、本実施の形態のテレビジョン受像機システム１の動作および作用について説明する。
【００１９】
（全体動作概要）
まず、図１を参照して、テレビジョン受像機システム１の全体動作概要を説明する。リモコン１０において、インターフェース部１１により、ユーザが情報を入力する。制御部１２は、インターフェース部１１から供給される信号に基づいて、コマンドを生成し、送信部１３に供給する。送信部１３は、制御部１２から供給されたコマンドをテレビジョン受像機２０に対して送信する。テレビジョン受像機２０では、受信部２１は、送信部１３から送信されたコマンドを受信し、そのコマンドを、２進数を示す文字列型のデータＤ１として出力する。制御部２２は、２進数を示す文字列型のデータＤ１として供給されたコマンドを、１０進数を示す整数型のデータＤ２に変換し、その変換されたデータＤ２に基づいてチューナ部２３を制御するための制御信号を生成する。チューナ部２３は、制御部２２から供給された制御信号に基づいて、アンテナ９により受信した放送波から所望のデータストリームを選択し抽出する。表示部２４は、チューナ部２３が抽出したデータストリームに基づいて画像を表示する。
【００２０】
（制御部２２の動作）
制御部２２は、受信部２１から供給された２進数を示す文字列型のデータＤ１を、１０進数を示す整数型のデータＤ２に変換（データ変換）し、その変換されたデータＤ２に基づいてチューナ２３を制御する。以下に、そのデータ変換動作について詳細に説明する。
【００２１】
図２は、制御部２２におけるデータ変換動作の一例を表すものである。この例では、受信部２１から供給されるデータＤ１の文字数（２進数の桁数）をＮとして説明する。
【００２２】
制御部２２は、２進数を示す文字列型のデータＤ１の各文字（各桁の値）を文字列型の配列変数の各要素に格納し、２進数の最上位から最下位に向かって順にその配列変数の各要素の文字を判定して重み加算演算を行い、１０進数を示す整数型のデータＤ２に変換する。以下に、この動作を詳細に説明する。
【００２３】
まず、制御部２２は、このデータ変換動作において使用する変数を定義する（ステップＳ１）。具体的には、制御部２２は、Ｎ個の要素からなる文字列型の配列変数ｃ［］（ｃ［０］〜ｃ［Ｎ−１］）と、整数型の変数ｎ，ｍ，ｔを定義する。ここで、配列変数ｃ［］の各要素は、データＤ１の各文字（各桁の値）をそれぞれ格納するものである。変数ｎは、このデータ変換動作により変換したデータＤ２（数字）を格納するものである。変数ｍは、データＤ１が示す２進数の各桁の重み係数を格納するものである。変数ｔは、配列変数ｃ［］の要素を指定するためのカウンタ変数である。言い換えれば、変数ｔは、データＤ１が示す２進数における演算対象とする桁を指定するものである
【００２４】
次に、制御部２２は、ステップＳ１において定義した各変数を初期化する（ステップＳ２）。具体的には、制御部２２は、配列変数ｃ［］の全要素を“０”（文字）にそれぞれ設定し、変数ｎ，ｔを０にそれぞれ設定し、変数ｍを２＾（Ｎ−１）に設定する。
【００２５】
次に、制御部２２は、受信部２１よりデータＤ１を入力し（ステップＳ３）、そのデータＤ１の各文字（各桁の値）を配列変数ｃ［］の各要素に格納する（ステップＳ４）。その際、制御部２２は、例えば、データＤ１が示す２進数の最上位の情報を配列変数ｃ［０］に格納し、２進数の最下位の情報を配列変数ｃ［Ｎ−１］に格納する。
【００２６】
次に、制御部２２は、変数ｔ（カウンタ変数）がＮと等しくなるまで、以下に示すステップＳ６〜Ｓ１０の動作を繰り返す。
【００２７】
まず、制御部２２は、配列変数ｃ［ｔ］（ｔ＝０の場合には配列変数ｃ［０］）の文字が“１”であるか“０”であるかを判定する（ステップＳ６）。そして、制御部２２は、配列変数ｃ［ｔ］が“１”であれば、変数ｎに重み係数である変数ｍ（ｔ＝０の場合にはｍ＝２＾（Ｎ−１））を加算し（ステップＳ７）、配列変数ｃ［ｔ］が“０”であれば、この加算を行わずに次に進む。
【００２８】
次に、制御部２２は、変数ｔ（カウンタ変数）をインクリメントし（ステップＳ８）、変数ｍ（重み係数）を半分にして変数ｍに代入することにより変数ｍを再設定する（ステップＳ９）。すなわち、制御部２２は、変数ｍを、現在演算対象となっている桁の一つ下の桁の重み係数に再設定する。
【００２９】
次に、制御部２２は、変数ｔがＮと等しいか否かを判定する（ステップＳ１０）。変数ｔがＮと等しくない場合には、再度ステップＳ６〜Ｓ１０の動作を行う。すなわち、ステップＳ８，Ｓ９において新しく設定された桁に対して演算を行う。
【００３０】
そして、ステップＳ１０において、変数ｔがＮと等しいと判定された場合には、このフローを終了する。
【００３１】
これにより、制御部２２は、２進数を示す文字列型のデータＤ１から１０進数を示す整数型のデータＤ２へのデータ変換動作を終了する。そして制御部２２は、変数ｎに格納されたデータＤ２に基づいて、チューナ２３を制御する。
【００３２】
このように、制御部２２は、２進数を示す文字列型のデータＤ１を、型変換を行わずに、１０進数を示す整数型のデータＤ２に直接変換する。具体的には、ステップＳ６，Ｓ７において、配列変数ｃ［ｔ］の文字が“１”である場合のみ、その桁の重み係数（変数ｍ）を加算することによりデータＤ２を求める。制御部２２では、このように、型変換を行わないようにしたので、型変換を行う場合に比べて、演算の実行数（ステップ数）を削減することができ、処理に必要なメモリ量を抑えることができる。
【００３３】
また、例えば、型変換を行う場合には、コンパイラに標準で用意されているライブラリや関数などを使用することとなるため、コンパイル後の実行サイズが大きくなってしまい、処理に必要なメモリ容量が増大してしまうおそれがある。さらに、そのソースコードはライブラリや関数を用いて記載されるため、ソースコードがよりわかりにくいものとなるおそれがある。
【００３４】
一方、制御部２２では、型変換を行わずに、文字列型のデータＤ１を直接整数型のデータＤ２に変換するようにしたので、コンパイル後の実行サイズを少なくすることができ、処理に必要なメモリ量を抑えることができる。すなわち、例えば、いわゆる組み込みシステムでは、パソコンなどの汎用のコンピュータとは異なり、演算の用途が定まっているため、必要最小限の容量のメモリを搭載することが多い。よって、このようにコンパイル後の実行サイズを少なくすることにより、このようなメモリ容量に制約のある組み込みシステムへのインプリメンテーションを容易に行うことができる。言い換えれば、搭載するメモリを最小限に抑えることができ、システムのコスト等を抑えることができる。また、ソースコードにライブラリや関数についての記載がなくなるため、ソースコードをわかりやすくすることができる。
【００３５】
［効果］
以上のように本実施の形態では、文字列型の配列変数の各要素を判定し、重み加算を行うようにしたので、型変換を行う必要がないため、演算の実行数（ステップ数）を削減することができ、処理に必要なメモリ量を抑えることができる。
【００３６】
［変形例１］
上記実施の形態では、データＤ２は整数型としたが、これに限定されるものではなく、浮動小数点型など、数値型であればどのようなものであってもよい。
【００３７】
［変形例２］
また、上記実施の形態では、データＤ２は１０進数を示すものとしたが、これに限定されるものではなく、２進数以外であればどのようなものであってもよい。
【００３８】
［変形例３］
また、上記実施の形態では、２進数の最上位から最下位に向かって処理を行ったが、これに限定されるものではなく、これに代えて、例えば、２進数の最下位から最上位に向かって処理を行ってもよい。
【００３９】
［変形例４］
また、上記実施の形態では、データＤ１の各桁の情報を格納するために配列変数ｃ［］を用いたが、これに限定されるものではなく、これに代えて、例えば、Ｎ個の変数を用いてもよい。
【００４０】
以上、実施の形態および変形例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
【００４１】
例えば、上記実施の形態等では、本技術をテレビジョン受像機システムに適用したが、これに限定されるものではなく、２進数を示す文字列型のデータを、２進数以外の数値型のデータに変換する用途であれば、どのようなものに適用してもよい。
【００４２】
なお、本技術は以下のような構成とすることができる。
【００４３】
（１）ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、
前記文字データの判定結果に基づき、ｎ個の前記文字データを２進数以外の数字データに変換することと
を含むデータ変換方法。
【００４４】
（２）ｎ個の前記文字データを文字型の配列変数に格納し、その配列変数を用いてｎ個の前記文字データを判定する
前記（１）に記載のデータ変換方法。
【００４５】
（３）前記文字データが１であるか否かをそれぞれ判定し、前記文字データが１である桁に対応づけられた重み付けを足し合わせることにより、前記数字データを求める
前記（１）または（２）に記載のデータ変換方法。
【００４６】
（４）前記数字データは整数型の変数に格納される
前記（１）から（３）のいずれかに記載のデータ変換方法。
【００４７】
（５）前記数字データは１０進数の数値を示すものである
前記（１）から（４）のいずれかに記載のデータ変換方法。
【００４８】
（６）組み込みシステムに使用される
前記（１）から（５）のいずれかに記載のデータ変換方法。
【００４９】
（７）ｎ桁の２進数を示すｎ個の文字データの各文字を判定することと、
前記文字データの判定結果に基づき、ｎ個の前記文字データを２進数以外の数字データに変換することと
を含む演算を、コンピュータに実行させる
データ変換プログラム。
【００５０】
（８）ｎ桁の２進数を示すｎ個の文字データの各文字を判定する判定部と、
前記文字データの判定結果に基づき、ｎ個の前記文字データを２進数以外の数字データに変換する変換部と
を備えたデータ変換装置。
【符号の説明】
【００５１】
１…テレビジョン受像機システム、９…アンテナ、１０…リモコン、１１…インターフェース部、１２…制御部、１３…送信部、２０…テレビジョン受像機、２１…受信部、２２…制御部、２３…チューナ部、２４…表示部。
【図１】
2014075013.tif 000003
【図２】
2014075013.tif 000004