C语言中位操作-3>>31值为什么是-1?

日期:2022-04-12 04:33:14 人气:1

C语言中位操作-3>>31值为什么是-1?

一般情况下是补零,但在处理有符号数的时候会因计算机系统的不同而不同。有符号数高位是零,则右移时高位补零;如果是负数,即高位是1,那么,有得系统会移入1,称算术右移,有的会移入0,称逻辑右移。
如果高位补 0,结果就是1如果高位补1, 结果就是-1
    A+
热门评论