ファイルから次のバイナリ (01100001) を読み取って ASCII コード (97) に変換しようとしていますが、fread を使用すると非常に大きな数値が得られます。ファイル「c:/input.txt」には次の行のみが含まれます -01100001 配列値の printf は、825241648 などの大きな数値を出力します
私のコード:
int main()
{
unsigned int arr[8];
int cnt,i,temp=0;
FILE * input;
if(!(input=fopen("C:/input.txt","r")))
{
fprintf(stderr,"cannot open file\n");
exit(0);
}
cnt = fread(arr,1,8,input);
for(i=0;i<cnt;i++)
{
printf("%d\n",arr[i]);
}
return 0;
}
理由はありますか?