Cを使用して1ビットのエラー検出を決定するために16進整数を使用する必要があるプログラムを作成しようとしています。しかし、Cが16進整数をどのように処理するかわかりません。まず、stdinから下位16ビットを抽出する必要があります。scanf()関数を使用してstdinから最初の16ビットを読み取り、その数値をcharの配列に格納する必要があります(私のコードは現時点ではこれを考慮していません)。プログラムをテストして整数を16ビット形式で出力するかどうかを確認するだけの場合、0xcd789fなどの16進数を入力すると、xの前に0が出力されるだけです。これが私のこれまでのコードです。これまでのところ、これは単なる標準の「stdinから整数を読み取り、それをstdoutに出力する」プログラムです。
#include <stdio.h>
int main()
{
int num;
scanf("%d", &num);
printf("%d\n", num);
getchar();
}
このコードは、基数16の数値では正しく機能しません。これをどのように説明しますか?お手伝いありがとう!