C语言位移使用求解假设temp赋值为11111111,那么temp>>=4后,它是00001111还是11111111?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 08:38:29

C语言位移使用求解假设temp赋值为11111111,那么temp>>=4后,它是00001111还是11111111?
C语言位移使用求解
假设temp赋值为11111111,那么temp>>=4后,它是00001111还是11111111?

C语言位移使用求解假设temp赋值为11111111,那么temp>>=4后,它是00001111还是11111111?

如果temp是无符号类型(unsigned)则用0补充,否则用符号位补充,示例程序:

#include <stdio.h>

int main(int argc, char* argv[])
{
unsigned int a=~0;
int ia=~0      ;
a>>=1;
ia>>=1;
printf("%d,%d",a,ia);
return 0;
}