質問
実は私は(おそらく)「単純な」問題をしました。だから私は、符号なし整数への符号付き整数をキャストする方法がわかりません。
私のコード:
signed int entry = 0;
printf("Decimal Number : ");
scanf("%d", &entry);
unsigned int uEntry= (unsigned int) entry;
printf("Unsigned : %d\n", uEntry);
私は(私の最後のコード行を参照)、コンソールに符号なしの値を送信する場合、私は常に符号付き整数を取り戻すます。
あなたは私を助けることはできますか?
どうもありがとうございました!
種類のよろしく、プロ
解決
printf("Unsigned : %u\n", uEntry);
// ^^
あなたは%u
がprintf
であることuEntry
ランタイムを伝えるためにunsigned int
指定子を使用する必要があります。あなたは%d
printf
機能を使用する場合はこれに署名値にご入力背中を再解釈、int
を期待されます。
他のヒント
あなたのコードの末尾に
追加の2行、あなたは何が起こっているかを理解するであろう。
printf("entry: signed = %d, unsigned = %u, hex = 0x%x\n", entry, entry entry);
printf("uEntry: signed = %d, unsigned = %u, hex = 0x%x\n", uEntry,uEntry,uEntry);
所属していません StackOverflow