反病毒工程师笔试卷第三题是这样子的:
给你一个32位的16进制数:0x35789021 ,然后倒序输出,即输出:0x12098753
开始没有思路,最后才做的他,随便写了写,回来运行了一下发现自己写对了,很happy!!!
#include
<
stdio.h
>
void main()
... {
int i = 0x35789021;
// cout<<i<<endl;
int *p = &i;
printf("Before convert: 0x%x ",i);
printf("After convert: 0x");
for(int j = 0;j<4;j++)
...{
printf("%x",(*((char*)p+j))&0x0f);
printf("%x",((*((char*)p+j))&0xf0)>>4);
}
printf(" ");
}
void main()
... {
int i = 0x35789021;
// cout<<i<<endl;
int *p = &i;
printf("Before convert: 0x%x ",i);
printf("After convert: 0x");
for(int j = 0;j<4;j++)
...{
printf("%x",(*((char*)p+j))&0x0f);
printf("%x",((*((char*)p+j))&0xf0)>>4);
}
printf(" ");
}