不能使用printf系列库函数。代码不难,但是有两处没看懂!!!
下面分享下代码:
#include <iostream>
using namespace std;
char * get2String(long num)
{
int i = 0;
char * buffer = NULL;
char * temp = NULL;
buffer = (char *)malloc(33);
temp = buffer;
for(i=0; i<32; i++) //看不懂...
{
temp[i] = num & (1 << (31 - i));
temp[i] = temp[i] >> (31 - i);
temp[i] = (temp[i] == 0) ? '0' : '1';
}
buffer[32] = '\0';
return buffer;
}
char * get16String(long num)
{
int i = 0;
char * buffer = (char *)malloc(11);
char * temp = buffer;
//buffer[0] = '0';
//buffer[1] = 'x';
buffer[10] = '\0';
for(i=0; i<10; i++)
{ //看不懂啊...
temp[i] = (char)( (num << (4 * i)) >> 28);
temp[i] = temp[i] >= 0