
No.1ベストアンサー
- 回答日時:
私はCはほとんどしたことがないのですが,機械語でそのようなプログラムを組む場合,10で割っていって余りを記録し,割られる数が0になるまで繰り返して組んだ記憶があります。
アルゴリズムは言語が変わっても同じだと思います。例)123をBCDに直す場合,
123÷10=12・・・3
12÷10=1・・・2
1÷10=0・・・1
これを逆に並べて「123」というBCDデータになりました。
もしかするとこの程度はCのライブラリにあるかもしれませんね。
この回答へのお礼
お礼日時:2004/12/03 12:37
ありがとうございました。ビットをシフトさせていったら出来るのかなとか考えていたのですが、出来なくて困っていました。教えていただいた方法ならわかりやすいですね。大変助かりました。
No.4
- 回答日時:
>バイナリデータは16ビットです。
bcd = ((n/10000)<<16)|(((n%10000)/1000)<<12)|(((n%1000)/100)<<8)|(((n%100)/10)<<4)|(n%10);
ですが、見にくいので、ANo.1さんの手を使いましょう。
答えが最大20ビットになるので、20ビット以上を扱える型が必要です。文字型で欲しければANo.2さんのsprintfです。
unsigned int bin2bcd(unsigned int n) {
unsigned int bcd=0;
unsigned int base=0;
while (n>0){
bcd |= (n%10)<<base;
base += 4;
n /= 10;
}
return bcd;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
L1 ⊆ L2であるか確認できるアル...
-
Dijkstraて
-
ゲームプログラミングC/C++、SR...
-
OpenCVのライセンスについて
-
Stuck
-
ドロネー三角形のプログラム
-
脳内メーカーのようなサービス...
-
ハッシュアルゴリズム
-
経路探索について
-
ファイルの開き方
-
Bluestacks内でダウンロードし...
-
VBAで仕様書は書きますか?
-
OS入ってる機器のソフト・アプ...
-
65536は2の何乗なのでしょうか?
-
C言語についてです。 再帰を使...
-
あるプログラムのコマンドライ...
-
バッチファイルでUSB挿入時に実行
-
io.hをincludeするとそのような...
-
CRC8を教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
C♯で電卓を作成しています。演...
-
一番近い組み合わせを見つけるには
-
シードを考慮したトーナメント...
-
アルゴリズムとプロトコールの違い
-
グループを均等に分けるには?...
-
多変数関数の最小値を求めるプ...
-
期間重複チェックがわかりません
-
プログラミングをしたいのです...
-
5人のテストの点数を入力すると...
-
ハノイの塔のさいきアルゴリズ...
-
マージソートの比較回数の計算...
-
トップダウン解析とボトムアッ...
-
ハッシュアルゴリズム
-
diffのアルゴリズムについて詳...
-
フリーセルの難易度について
-
C# 再帰よるスタックオーバー...
-
書籍のソースコードを別言語に...
-
最大公約数を求めたい!
-
複数の点を最短距離で全て繋ぐ...
おすすめ情報