
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となってしまい桁上りが生じます。
この場合どのように処理するのが良いのでしょうか?
どなたかご教授ください。
No.3
- 回答日時:
追記。
桁数が最初から判っているなら(変換する桁数が固定なのであれば)
3846を1000で割った商を10で割った余り⇒3⇒0011
3846を100で割った商を10で割った余り⇒8⇒1000
3846を10で割った商を10で割った余り⇒4⇒0100
3846を1で割った商を10で割った余り⇒6⇒0110
と言うように、先頭から求めていく事も出来ます。
No.2
- 回答日時:
>たとえば、10進数の3846をBCDに変換する場合答えはどのようになりますか?
3846を10で割った余り「6」を求め、2進数にする。
6⇒0110
3846を10で割って「384」にする。小数点以下切り捨て。
384を10で割った余り「4」を求め、2進数にする。
4⇒0100
384を10で割って「38」にする。小数点以下切り捨て。
38を10で割った余り「8」を求め、2進数にする。
8⇒1000
38を10で割って「3」にする。小数点以下切り捨て。
3を10で割った余り「3」を求め、2進数にする。
3⇒0011
4桁分変換したので、終了。
最後から逆に順番に並べると
0011 1000 0100 0110
と言う16ビットになる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3のつく数字と3の倍数のみを表...
-
エクセルのvbaで検索ボタンを作る
-
C++からCへのソース変換について
-
家電製品の電力周波数を変える機械
-
分を時間に変換するプログラム
-
visual c++の文字コード判別
-
シフトJISのCSVファイルをUFT-8...
-
なぜ通信には16進数文字列が使...
-
10進数をBCDに変換する方法
-
UTF8→ShiftJISに変換したいです!
-
PIC16F88のAN4のアナログ/デジ...
-
VB6からVB2010への変換について
-
php
-
C#で漢数字をアラビア数字に変...
-
tex 郵便記号のだしかた
-
逆コンパイルと逆アセンブルの...
-
魚眼レンズの画像処理
-
シーケンサのCPUはニーモニック...
-
画像ファイルから.icoフォーマ...
-
bmp → jpeg への変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
VB.NETをJavaに変換するツール...
-
c++でmatからvectorへの変換の...
-
分を時間に変換するプログラム
-
緯度、経度の 10進法と 60進法...
-
逆コンパイルと逆アセンブルの...
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
C++からCへのソース変換について
-
VB6で10進数を32進数に変換する...
-
php
-
画像ファイル変換(Tiff→PDF)
-
VB.NETからJavaに変換するツー...
-
PHPで、日本語からアルファベッ...
-
WinHelpからHTML Helpに変換
-
マンセル⇔XYZ,RGB変換式或いは...
おすすめ情報