64,651
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
void convert(const void *bin,size_t bytes,char *outHex)
{
const unsigned char *ubin=(const unsigned char*)bin;
for(int i=0;i<bytes;++i)
{
unsigned char unit[2]={ubin[i]&0x0f,(ubin[i]>>4)&0x0f};
for(int j=0;j<2;++j,++outHex)
{
if(unit[j]<10)
{
*outHex=unit[j]+'0';
}
else
{
*outHex=unit[j]-10+'A';
}
}
}
*outHex='\0';
}
int main()
{
char hex[100];
long n;
while(scanf("%ld",&n)==1)
{
convert(&n,sizeof(n),hex);
printf("%s\n",hex);
}
return 0;
}
#include <iostream>
using namespace std;
void bar(int n)
{
int tmp = n % 16;
if (n >= 16)
{
bar(n / 16);
}
switch (tmp)
{
case 10:
cout << 'A';
break;
case 11:
cout << 'B';
break;
case 12:
cout << 'C';
break;
case 13:
cout << 'D';
break;
case 14:
cout << 'E';
break;
case 15:
cout << 'F';
break;
default:
cout << tmp;
break;
}
}
void foo(int n)
{
cout << "0X";
bar(n);
cout << endl;
}
int main()
{
int n = 0;
while (cin >> n)
{
foo(n);
cout << endl;
}
return 0;
}
#include <iostream>
void DecimalToHexadecimal(int n)
{
printf("%d\n",n);
char chHexadecimal[9] = {0};
char chBackUp[9] = {0};
sprintf(chBackUp,"%x",n);
printf("%s\n",chBackUp);
int nIndex = 0;
for (int i = (int)strlen(chBackUp) - 1;i >= 0;i -= 2)
{
if (i == 0)
{
chHexadecimal[nIndex] = '0';
chHexadecimal[nIndex+1] = chBackUp[i];
}
else
{
chHexadecimal[nIndex] = chBackUp[i-1];
chHexadecimal[nIndex+1] = chBackUp[i];
}
nIndex += 2;
}
for (;nIndex < 8;nIndex++)
{
chHexadecimal[nIndex] = '0';
}
printf("%s\n",chHexadecimal);
}
int main()
{
DecimalToHexadecimal(1000);
system("pause");
return 0;
}
#include <iostream>
#include <algorithm>
//#include "test.h"
int main()
{
int i = 0;
std::cin>>i;
char res[9];
int count = sprintf(res,"%x",i);
std::reverse(res,res + count);
std::fill(res + count,res + 8,'0');
res[8] = '\0';
puts(res);
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void convert(const void *bin,size_t bytes,char *outHex)
{
const unsigned char *ubin=(const unsigned char*)bin;
for(int i=0;i<bytes;++i)
{
unsigned char unit[2]={ubin[i]&0x0f,(ubin[i]>>4)&0x0f};
for(int j=0;j<2;++j,++outHex)
{
if(unit[j]<10)
{
*outHex=unit[j]+'0';
}
else
{
*outHex=unit[j]-10+'A';
}
}
}
*outHex='\0';
}
void convert1(const void *bin,size_t bytes,char *outHex)
{
const unsigned char *ubin=(const unsigned char*)bin;
for(int i=0;i<bytes;++i)
{
if(*(ubin+i)>15)
sprintf(outHex,"%2X",*(ubin+i));
else
sprintf(outHex,"0%X",*(ubin+i));
++outHex;++outHex;
}
*outHex='\0';
}
int main()
{
char hex[100];
char hex1[100];
long n;
while(scanf("%ld",&n)==1)
{
//convert(&n,sizeof(n),hex);
convert1(&n,sizeof(n),hex1);
//printf("%s\n",hex);
printf("%s\n",hex1);
}
return 0;
}