
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ランキング
-
VB 6 を VS 2012に変換するには?
-
Mac 乗数の入力方法
-
COMP-3
-
中国語が文字コード変換で、一...
-
VB6からVB2010への変換について
-
ハフ変換の原理をわかりやすく...
-
文字コードの変換
-
緯度、経度の 10進法と 60進法...
-
アセンブラ言語の数字を数値に...
-
.sb3のファイルを.sb2に変換す...
-
シフト演算の結果の型
-
家電製品の電力周波数を変える機械
-
Macターミナルで実行中のプログ...
-
TCP/IP通信時のサーバーからの受信
-
Excel(VBA)でSetTimer関数を使...
-
AIXでのプロセス使用メモリの最...
-
C# シリアル通信でデータ受信...
-
FOM出版の公認テキスト&問題集...
-
メッセージボックスのボタン名変更
-
powershell を使いカレントディ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
逆コンパイルと逆アセンブルの...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
VB6からVB2010への変換について
-
緯度、経度の 10進法と 60進法...
-
分を時間に変換するプログラム
-
C#で漢字→ローマ字を変換
-
なぜ通信には16進数文字列が使...
-
vb.netの型変換について
-
正規表現でルビを小書きに変換...
-
マンセル⇔XYZ,RGB変換式或いは...
-
C#で漢数字をアラビア数字に変...
-
VB6から.NETへアップグレード時...
-
php
-
VB 6 を VS 2012に変換するには?
-
3のつく数字と3の倍数のみを表...
-
C++からCへのソース変換について
-
エクセルのvbaで検索ボタンを作る
-
tex 郵便記号のだしかた
おすすめ情報