printf
1 つのステートメントでHEX プレフィックス '0x' を使用して数値を出力し、右寄せにする方法を教えてください。
たとえば、10 文字で右揃えしようとしたが、次のように数が 10 文字未満の場合:
printf("0x%10X\n", number);
出力:
私はそれを次のように見せたいです (写真には別の番号が含まれているという事実を無視してください):
上記のコードのいくつかのバリエーションを試しましたが、これがこれまでに見つけた中で最も近いものです。
#
修飾子を使用して、0x
プレフィックスをフィールドの一部にします。
printf("%#10x\n", number)
C++ I/O ストリーム修飾子を使用しても同様に機能します (安全性も高くなります)。
unsigned int short_hexidecimal_value = 0xff; //Less than ten characters in hex.
unsigned long long long_hexidecimal_value = 0xfabcdef987; //Ten or more characters in hex.
std::cout << std::setw(20) << std::right << std::uppercase << std::hex << "0x" << short_hexidecimal_value << '\n';
std::cout << std::setw(20) << "0x" << long_hexidecimal_value << '\n';