正しくありません。指摘よろしくお願いします。
#include <stdio.h>
#define NUM 16
int main(void)
{
int nisin[NUM];
double jusin,tmp;
int i;
printf("10進小数を入力してください。\n");
scanf("%lf",&jusin);
/*2の補数を求める処理*/
if(0>jusin || 256<=jusin)
{
printf("エラー\n");
}
else
{
tmp=(int)jusin;
i=0;
while(i<NUM/2)
{
nisin[i]=(int)tmp%2;
tmp=(int)tmp/2;
i++;
}
i=NUM/2-1;
while(i>=0)
{
printf("%d",nisin[i]);
i--;
}
printf(".");
tmp=jusin-(int)jusin;
i=NUM/2;
while(i<NUM)
{
nisin[i]=(int)(tmp*2);
tmp=(tmp*2)-((int)(tmp*2));
printf("%d",nisin[i]);
i++;
}
printf("\n");
}
return 0;
}