私はやってみたいです:
int a = 255;
cout << a;
出力にFFが表示されるようにするには、どうすればよいですか?
使用する:
#include <iostream>
...
std::cout << std::hex << a;
先行ゼロや大文字/小文字など、出力番号の正確なフォーマットを制御するための他の多くのオプションがあります。
std::hex
によって定義され、<ios>
によって含まれ<iostream>
ます。ただし、std::setprecision/std::setw/std::setfill
/etc などを使用するには、 を含める必要があります<iomanip>
。
単一の 16 進数を出力してから 10 進数に戻したい場合は、次のように使用できます。
std::cout << std::hex << num << std::dec << std::endl;
同様に使用できるさまざまな種類のフラグとマスクがあります。詳細については、 http://www.cplusplus.com/reference/iostream/ios_base/setf/を参照してください。
#include <iostream>
using namespace std;
int main()
{
int num = 255;
cout.setf(ios::hex, ios::basefield);
cout << "Hex: " << num << endl;
cout.unsetf(ios::hex);
cout << "Original format: " << num << endl;
return 0;
}
大丈夫!
#include <iostream>
#include <iomanip>
unsigned char arr[] = {4, 85, 250, 206};
for (const auto & elem : arr) {
std::cout << std::setfill('0')
<< std::setw(2)
<< std::uppercase
<< std::hex
<< (0xFF & elem)
<< " ";
}