把long 数据331056848的十六进制形式放在char sz[4];里,即:
sz[0]=0x13;
sz[1]=0xbb;
sz[2]=0x86;
sz[3]=0xd0;
怎样做?
也就是说 331056848的16进制数位0x13bb86d0然后分别将这些数据写入到一个数组中!
sz[0]=0x13;
sz[1]=0xbb;
sz[2]=0x86;
sz[3]=0xd0;
怎样做?
也就是说 331056848的16进制数位0x13bb86d0然后分别将这些数据写入到一个数组中!
for(int i = 3,int j = 0; i >= 0; i-- , j++)
{
sz[i] = A >> j;
}
int A = 0x13bb86d0;
for(int i = 3,int j = 0; i >= 0; i-- , j++)
{
sz[i] = A >> (j*8);
}
for(int i = 3,int j = 0; i >= 0; i-- , j++)
{
sz[i] = A >> (j*8);
}
char sz[4];
memcpy(sz,&A,sizeof(sz));//sz[0]=0xd0,sz[1]=0x86,sz[2]=0xbb,sz[3]=0x13
char *p;
char sz[4];
p = (char*)a;
strncpy(sz,p,4);
sz[0] = char((a&0xff000000)>>24);
sz[1] = char((a&0xff0000)>>16);
sz[2] = char((a&0xff00)>>8);
sz[2] =char ((a&0xff));
DWORD B = A;
for(int i = 3;i >= 0;i--)
{
sz[i] = B; //或语义更明确sz[i] = B & 0XFF;
B >>= 8;
}
long A = 0x13bb86d0;
char *p;
char sz[4];
p = (char*)a;
sz[0] = p[3];
sz[1] = p[2];
sz[2] = p[1];
sz[3] = p[0];
memcpy(sz, (char *)&nTemp , 4);