何とか庵日誌

本名荒井が毒にも薬にもならないことを書きつづるところ

16進数を10進数にするプログラムその1

というわけで昨日悩んでいた三項演算子の問題は解決しました。
単にif文内のステートメントの本来「;(セミコロン)」で区切るべきところが、打ち間違って「:(コロン)」になっていただけでした。
BASICプログラムでもコロンとセミコロンを間違えてバグるという例は多々あります。キーボードで隣同士だからいけないんだい!(いいがかり)
というわけで昨日悩んでいた成果がこれ。16進数を10進数に変換して表示するプログラムです。


#include

main()
{
unsigned a;
int i,ct;
unsigned b[4];
int d[4];

a = 0x7fff;
ct = 0;

b[0] = 10;
b[1] = 100;
b[2] = 1000;
b[3] = 10000;

for (i = 3; i >= 0; --i) {
do {
ct += 1;
a = a - b[i];
} while (a >= b[i]);

d[i] = ct;
ct = 0;

}

for (i = 3; i>= 0; --i) {
printf("%d",d[i]);
}
printf("%d",a);
}



結局if文使わなかったというオチ(おい)。
リンク前のファイルを見ればなにか参考にならないかと企んでいるところ。