• ベストアンサー

BCD(2進化10進数)

初歩的な質問で申し訳ないのですが、10進数の13をBCDにすると00010011となるのは分かるのですが、13.31のように小数が含まれる場合も00010011.00110001というにしてしまっていいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

それで構いません。 ただ、2進化10進数自体が主にハードの世界で使うものですから 内部的には小数点の位置を暗黙的な約束事項としておいて小数点を扱わないのが普通です。

goraken08
質問者

お礼

分かりやすい回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 10進数をBCDに変換する方法

    10進数から2進化10進数(BCD)に変換するところで疑問があります。 たとえば、10進数の3846をBCDに変換する場合答えはどのようになりますか? 私なりに考えたところまでを示しますが、答えがわかりません。 どこに考え方の間違いがあるのでしょうか? まず、3846を2進数に変換しました。 3846 → 0000111100000110 (2進数)となります。 ここからBCDに変換する場合、4ビットずつを1つと考えて数字を表現するので、上記の2進数の頭から4つずつ分けて考えると 1つ目 0000 2つ目 1111 3つ目 0000 4つ目 0110 の4つにわけました。 続いて、それぞれを10進化しました。 1つ目 0000 → 0 2つ目 1111 → 15 3つ目 0000 → 0 4つ目 0110 → 6 ここで疑問が出てきます。 2つ目のところで、1111を10進化すると15となってしまい桁上りが生じます。 この場合どのように処理するのが良いのでしょうか? どなたかご教授ください。

  • 10進数をBCDに変換する方法

    10進数から2進化10進数(BCD)に変換するところで疑問があります。 たとえば、10進数の3846をBCDに変換する場合答えはどのようになりますか? 私なりに考えたところまでを示しますが、答えがわかりません。 どこに考え方の間違いがあるのでしょうか? まず、3846を2進数に変換しました。 3846 → 0000111100000110 (2進数)となります。 ここからBCDに変換する場合、4ビットずつを1つと考えて数字を表現するので、上記の2進数の頭から4つずつ分けて考えると 1つ目 0000 2つ目 1111 3つ目 0000 4つ目 0110 の4つにわけました。 続いて、それぞれを10進化しました。 1つ目 0000 → 0 2つ目 1111 → 15 3つ目 0000 → 0 4つ目 0110 → 6 ここで疑問が出てきます。 2つ目のところで、1111を10進化すると15となってしまい桁上りが生じます。 この場合どのように処理するのが良いのでしょうか? どなたかご教授ください。

  • 2進数からBCDコードへの変換

    今,2進カウンタを作り,これから7セグメントLEDへ出力する回路を作りたいのですが,1桁の場合は,デコーダICでそのまま変換可能なのですが,10進数に直したときに2桁以上になるものは,デコーダの前で各桁ごとのBCDコードに分けてあげないといけなくなります。ここが分からないのです。 回路の構成としては,カウンタ部分をアナログで構成し,そこで8個のスイッチをつけて,それぞれ2進数の各桁の入力としています。これと,3個のデコーダICと7セグメントLEDで2^8=255までを表示させたいのですが,どのような回路構成だとシンプルに作れるのでしょうか。また,そのようなICは存在するのでしょうか。

  • BCD出力で表示されたものをBINに変換すると

    PLC制御を学び始めた初心者です。 BCD出力とBIN出力について勉強している中で、たとえばヒーターの温度設定を行うことを想定して、BCD出力をするタッチパネルを用いて行った温度設定を場合について疑問があります。 たとえば、表示パネル上で63℃と設定したとします。 BCDなので、各桁それぞれを2進数で表して 6→0110 3→0011 つまり 63 = 0110 0011 ということになりますよね。 さらに、データをCPUやPLCに取り込むときにBINデータに変換する必要があると思うのですが、これをBINデータに変換する場合、上記のBCDデータを通常の2進数と見て、一度10進数に戻し、それを再度2進数に戻す作業になると思います。 具体的には、 01100011 =1+2^1+2^5+2^6=102 したがって、10進数の102という数値になりますよね? これを再度2進数化したものがBIN変換した数値ということになると思いますので、 102 = 01100110 (2進数) という風になるかと思います。 つまりPLCの内部ではこの2進数をデータとして取り扱うことになるかと思いますが、 さて、ここでよくわからないのですが、 タッチパネル上では63℃として入力していたのに、内部に入ったら102(℃?単位はわかりませんが・・・)として扱われています。 ここがよくわかりません。63℃のはずが102に変換されてしまっています。 だったら最初から変換などせずにそのままでいいのではないかとも思うのですが?? どなたがご教授いただけませんでしょうか。 なぜBINとBCDが扱われるのかについても教えていただけると幸いです。

  • BCDコードの計算

    BCDコード(2進化10進符号)の100000110110は10進数で幾らか。 この問題がわかりませんどなたか教えてください。お願いします。

  • 16進数から10進数への計算

    16進数から10進数の計算について質問です。 23.5Cという問題があった場合、5Cの部分の計算について質問で、そこは小数点の部分です。 式が、5 x (1/16*1) + 12 x 1/16*2)とか書いてあったのですが、なぜ16分の1の二乗になるのかわかりません。1/10、1/100と、10進数のマイナスの小数点の場合はなっていくのではないでしょうか? すごくわかりやすく説明していただければ助かります。 小学生の子どものように。全然わかりませんので。

  • BINARY to BCD CONVERTER

    8Bitの2進数を入力して3桁のBCDで出力するICを探してるのですがありませんでしょうか?

  • BCDケーブルの製品

    BCDケーブルの製品 BCDで水位データ5桁でテレメータに接続する装置があり、そのケーブルを探しているのですが、なかなか見つかりません。 質問は、 (1)BCDケーブルというものはないのか (2)普通の信号ケーブル(CPEVなど)でBCD出力が実現できるのか (3)装置の付属ケーブルとして販売されているものなのか です。 また、ケーブルの種類について詳しいサイトがありましたらご紹介ください。

  • BCD形式で時刻を!

    「時刻文字列・YYYYMMDDhhmmを unsigned char u_str[5]というような変数に、 BCD形式でYYMMDDhhmm(5バイト)で格納したい」 というのがやりたいことです。 BCD形式の意味はわかったんですが、 1バイトにどうやって2文字分を入れるのかわかりません。 また、できたら戻し方のアドバイスもお願いします。 (BCD形式5バイト→YYYYMMDDhhmm形式12バイト) 質問を見てわかるように初心者です。 何卒、アドバイスよろしくお願い致します!

  • 有理数でない数について 

    今高校一年の勉強をしているのですがわからない事が一つあります。 整数、有限小数、循環小数のいずれかであれば必ず有理数であるのは解ります。この逆(有理数であれば循環少数、有限小数、整数のいずれかである)も納得です。 ここで循環しない無限小数は上から有理数ではない、もわかります。 ここで質問なのですが有理数でないものは必ず循環しない無限小数であるといえるのでしょうか?