把十进制数用二进制的方式和16进制的方式输出。
long型为4字节,32位。每4个二位为1个16进制,因此每次都对4位进行分析
char* 16_output(long num)
{
int i=0;
char* temp=(char*)malloc(11);
temp[0]='0';
temp[1]='X';
temp[10]='\0';
for(;i<8;i++)
{
temp[i]=char((num<<4*i<<28)); //每次取4位
temp[i]=temp[i]>0?temp[i]:tempp[i]+16;//考虑符号,小于0就加16,这样数字在0-15之间
temp[i]=temp[i]<10?temp[i]+48:temp[i]+55;//如果小于10就是 0-9。大于10,就是字母了。
}
return temp;
}
bit 2_output(long num)
{
char* temp=(char *)malloc(33);
temp[32]='\0';
int i=0;
for(;i<32;i++)
{
temp[i]=char(((num>>(31-i))&1);)
}
}