入力の使用に基づいて多数を 16 進数に変換するコードを作成しました。ただし、結果が出力されると、数値の一部のみが 16 進数に変換され、配列には他のランダムな値が含まれます。
例: 10 進数 = 1234567891012 ---- 16 進数 = 00 00 00 02 00 00 00 65 00 6b 42 48 71 fb 08 44
最後の 4 つの値 ( 71 FB 08 44
) は正しい 16 進数値ですが、他の値は正しくありません
uint8_t buf[]; を使用しています。
コード:
int main()
{
uint8_t buf[] = {0};
long int i,a;
printf("Enter Number: ");
scanf("%d", &buf);
printf("\n");
printf("Input #: ");
/* put a test vector */
for (i = 15; i >= 0; i--)
{
printf("%02x ", buf[i]);
}
printf("\n\n");
printf("\n\n");
printf("%d\n",sizeof(buf));
system("pause");
return 0;
}