关于C语言的左移(<<)和右移(>>)
发布网友
发布时间:2022-04-24 02:41
我来回答
共2个回答
热心网友
时间:2023-07-06 01:04
左移比较简单,右边补0(移几位就补几个0),左边丢掉。
右移比较复杂,右移分两种:
(1)逻辑右移,左边补0(移几位补几位),右边移出去的丢掉。
(2)算术右移,左边补最高位(即原来的最高位是0就补0,是1就补1,因为最高位代表符号,这样可以保证负数不会变成正数),右边丢掉。追问解释的挺好的,但是没对着题目回答。我题目没说清楚,是无符号的基础上进行移位!
我的意思是左移和右移之后舍弃的位,怎么补回来,具体例子看一下问题!
热心网友
时间:2023-07-06 01:04
可以定义一个中间变量暂存要被移出去的位,正常移位之后再或上这个中间变量即可~