#include<stdio.h>
int main( void)
{
unsigned char i=0;
unsigned long long int data;
unsigned char *p=(unsigned char *)&data;
//bit43=0 bit44=1
data=0;
data|=(1ULL<<44);
for(i=0;i<8;i++) printf("byte%1d=%02x,",i,p[i]);
printf("\n");
//bit43=1 bit44=0
data=0;
data|=(1ULL<<43);
for(i=0;i<8;i++) printf("byte%1d=%02x,",i,p[i]);
return 0;
}
执行结果:
byte0=00,byte1=00,byte2=00,byte3=00,byte4=00,byte5=10,byte6=00,byte7=00, 二级
byte0=00,byte1=00,byte2=00,byte3=00,byte4=00,byte5=08,byte6=00,byte7=00, 三级
|