#include<stdio.h>
#include<stdlib.h>
int ssyy(int x,int y){
return (x>>y)-(-1<<(sizeof(int)*8-y));
}
int main()
{ int x=-4;
printf(“初始数字-4如果是逻辑右移,则变为正数,算数右移还是负数\n%d\n”,(x>>1));
printf(x>0?“逻辑右移\n”:“算数右移\n”);
x=-4;
x=ssyy(x,1);
printf(“初始数字-4如果是逻辑右移,则变为正数,算数右移还是负数\n%d\n”,(x>>1));
printf(x>0?“逻辑右移\n”:“算数右移\n”);
system(“pause”);
}
运行结果
初始数字-4如果是逻辑右移,则变为正数,算数右移还是负数
-2
算数右移
初始数字-4如果是逻辑右移,则变为正数,算数右移还是负数
1073741823
逻辑右移
请按任意键继续. . .
检测你系统是逻辑右移还是算数右移
最新推荐文章于 2022-06-10 08:16:46 发布