unsigned char c[2]= short i; memcpy(&i,c,sizeof(short)); printf("i=%d\n",i); 输出:i=-100注意多字节整型数值都是高低异位的,需要调换过来。无符号字符c [2] = 总之,我的memcpy(&I,C中,sizeof(短)); printf的(“=%d个\ n “;,I); 输出:I = -100 需要注意的是多字节的整数值?高,低异位需要换位。无符号字符c [2] = 总之,我的memcpy(&I,C中,sizeof(短)); printf的(“=%d个\ n “;,I); 输出:I = -100 需要注意的是多字节的整数值?高,低异位需要换位。再看看别人怎么说的。
8,int b322怎么看他的第八位是多少高八位呢要是是其他数值呢
b&(0x1<b&0xFF000000 再看看别人怎么说的。int b=322; int a = (b&(1 << 23))>>23; cout << "第八位:"<< a << endl; int c = (b&0xff000000)>>23; cout << "高八位:"<< c << endl;第八位:b&1<<8高八位:b&1<<24其他数值同理int 类型一般占用四个字节(sizeof(int))假设 b = 0xAABBCCDD,用位移运算就能得到高八位,就是AA, char h8 = b >> 8 * 3;严谨一点的写法是 b >> 8 * (sizeof(int) - 1)用位运算就能获得低八位,就是DD,char l8 = b & 0xFF;这个和字节序没关系http://codepad.org/zHqitK6d你问的是这个吧!看上面的程序!b&(0x1<<the_bit)b&0xFF000000