C语言的位运算:-3>>2怎么算?结果是-1。大神们具体一点,谢啦

2025-04-30 09:28:19
推荐回答(1个)
回答1:

以一个字节为例来说明:
char ch=-3;
在计算机中数值是用补码来存储的,故ch在内存中的内容为:
11111101
>>2 右移2位,因为是有符号数,故前面补符号位1,结果为
11111111 (01被移走,前面补了两个1)
这就是-1的补码
所以,结果输出会是-1