c++可以自动转化八进制,十六进制
例:int a=256;
输出格式:cout<<oct<<a<<hex<<a;
#include <iostream>
using namespace std;
int main()
{
int i,t,m,k;
cout << "dec\tbin\t\toct\thex\n";
for (i = 1; i <= 256; i++)
{
cout << dec << i << '\t';
//输出二进制
t = i;
m = 0; //高位输出1标志
for (k = 256; k >= 1; k /= 2) //每次除二
{
if (t >= k)
{
cout << 1;
m = 1;
t = t - k;
}
else
if (m) cout << 0; //若高位输出1则可输出0
}
if (i < 128) cout << '\t';
cout << "\t" << oct << i << '\t' << hex << i << '\t' << endl;
}
return 0;
}
运行结果: