28

uint16_t を出力するには、printf() を使用する必要があります。この SO の回答 ( uint32_t および uint16_t 変数の値を印刷する方法は? ) は、inttypes.h を使用する必要があることを示しています。

しかし、私は組み込みシステムに取り組んでおり、inttypes.h は利用できません。uint16_t のフォーマット指定子が利用できない場合、uint16_t を出力するにはどうすればよいですか?

4

3 に答える 3

17

明白な方法は次のとおりです。

printf("%u\n", (unsigned int)x);

unsigned int は少なくとも 16 ビットであることが保証されているため、損失の多い変換ではありません。

于 2015-03-18T01:55:11.127 に答える
9

short intは少なくとも 16 ビット長の最小値なので、値を に変換しunsigned short intて で出力し%huます。

于 2015-03-18T01:55:23.073 に答える