クラスの宿題に取り組んでいます。課題の一部では、基数 10 から 2 進数に変換し、2 進数を char 型の配列として表します。何らかの理由で、右端のビットを計算していません。どんな助けでも大歓迎です。
#include <stdlib.h>
#include <stdio.h>
xtractmsg(int a)
{
int rem,i,b,j,quotient;
char binaryNumber[16];
for(i = 0; i <= 16; i++){
if(a == 0)
binaryNumber[i]='0';
else{
rem = a % 2;
if(rem == 0)
binaryNumber[i]='1';
else
binaryNumber[i]='0';
a=a/2;
}
}
for(j=15; j>=0;j--)
printf("%c,%d",binaryNumber[j]);
}
入力は 10 で、出力は 0000000000000101 です。