#include <stdio.h>

#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;
}