69,381
社区成员
发帖
与我相关
我的任务
分享
unsigned int a=0x1; //不论a的值是多少
a>>=32; //右移unsigned int位数之后..
printf("%x",a); //结果是本身...
shift.c:4:5: warning: right shift count >= width of type
#include <stdio.h>
unsigned short int ui;
signed short int si;
int main() {
ui=(unsigned short int)0x8000u;
si=( signed short int)0x8000;
printf("ui=%u\n",ui);
printf("si=%d\n",si);
ui=ui>>1;
si=si>>1;
printf("ui=%u\n",ui);
printf("si=%d\n",si);
printf("--------------\n");
ui=(unsigned short int)0x8000u;
si=( signed short int)0x8000;
printf("ui=%u\n",ui);
printf("si=%d\n",si);
ui=(( signed short int)ui)>>1;
si=((unsigned short int)si)>>1;
printf("ui=%u\n",ui);
printf("si=%d\n",si);
return 0;
}
//ui=32768
//si=-32768
//ui=16384
//si=-16384
//--------------
//ui=32768
//si=-32768
//ui=49152
//si=16384
#include <stdio.h>
int main(int argc, char* argv[])
{
unsigned int data = 0x00000001;
data >>= 16;
data >>= 16;
printf("%08x\n", data);
return 0;
}
#include <stdio.h>
int main(int argc, char* argv[])
{
unsigned char ch = 0xa8;
ch >>= 8;
printf("%02x\n", ch);
return 0;
}