C言語なら俺に聞け(入門篇) Part 13
■ このスレッドは過去ログ倉庫に格納されています
06481/2
2007/06/07(木) 18:47:27#define BITDEPTH 32
#define MSB BITDEPTH-1
#define LSB 0
#define SIGN_BIT MSB
// 10進数の整数を0と1が入る配列に変換
void dec2bin(int dec, int bin[BITDEPTH]) {
unsigned int i;
// 符号ビットの判定
if (dec < 0) {
bin[SIGN_BIT] = 1;
dec *= -1;
}
else bin[SIGN_BIT] = 0;
// 符号ビットの前から最下位ビットまで探査
for (i = MSB-1; i > LSB; --i) {
if (dec & (2 << (i-1) )) bin[i] = 1;
else bin[i] = 0;
}
// 最下位ビットを判定
if (dec & 1) bin[LSB] = 1;
else bin[LSB] = 0;
}
■ このスレッドは過去ログ倉庫に格納されています