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で質問しましょう!
似たような質問が見つかりました
- 数学 数学の質問です。 cos∠BCD=−1/6とします。 「∠BCD=θと置いて、cosθ=-1/6」 2 2023/04/19 18:17
- 数学 数学の質問です。 cos∠BCD=−1/6とします。 「∠BCD=θと置いて、cosθ=-1/6」 5 2023/04/19 18:27
- 数学 数学の質問です。 円に内接する四角形ABCD において, AB=2, BC = 1, CD = 3, 3 2023/04/18 18:28
- 高校 数学、円順列について。 時計回りに並べるとはどういう意味ですか? 例えば A D ◯ B C という 4 2022/09/05 23:32
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- 数学 数学B 正四面体の第4の頂点 3 2022/06/06 08:40
- iPhone(アイフォーン) iPhoneの友達を探す機能について 2 2023/04/09 20:55
- 数学 内接四角形 1 2022/12/25 10:29
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
[ EXCEL VBA ] 図形を読み込む...
-
C♯で電卓を作成しています。演...
-
期間重複チェックがわかりません
-
BCDについて
-
ハッシュアルゴリズム
-
アルゴリズムとプロトコールの違い
-
c言語で画像から文字を認識 キ...
-
ドロネー三角形のプログラム
-
プログラミングの才能のある無...
-
巡回セールスマン問題において...
-
パズルが好きな人ってプログラ...
-
vbaで、連立方程式を解く方法に...
-
グループを均等に分けるには?...
-
画像から文字を認識してテキス...
-
あるプログラムのコマンドライ...
-
Excelに埋め込んだVBAのプログ...
-
VBAにてメール作成した際、一部...
-
0除算して、落ちるプログラムと...
-
VBAで仕様書は書きますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
アルゴリズムとプロトコールの違い
-
BCDについて
-
[ EXCEL VBA ] 図形を読み込む...
-
Stuck
-
グループを均等に分けるには?...
-
画像から文字を認識してテキス...
-
Dijkstraて
-
期間重複チェックがわかりません
-
JPEG圧縮で8×8に分割する理由に...
-
多変数関数の最小値を求めるプ...
-
OpenCVのライセンスについて
-
データを圧縮したい
-
ルービックキューブを揃えるた...
-
5人のテストの点数を入力すると...
-
C♯で電卓を作成しています。演...
-
ドロネー三角形のプログラム
-
vbaで、連立方程式を解く方法に...
-
動画で間違ったこと言っている
-
トップダウン解析とボトムアッ...
おすすめ情報