八进制和十六进制可以直接用%o和%x输出。
二进制这里自己弄了下。
#include
int main(int argc, char *argv[])
{
int i, j, n;
char two[9] = {0};
for(i = 1; i <= 255; i++)
{
/*十进制*/
printf("%4d",i);
/*二进制*/
for(j=7, n=i; j>=0; j--, n>>=1)
{
two[j]=(n & 1) + '0';
}
printf("%9s", two);
/*八进制*/
printf("%4o", i);
/*十六进制*/
printf("%3x\n", i);
}
return 0;
}