c语言 右移运算

发布网友 发布时间:2022-04-24 02:41

我来回答

2个回答

热心网友 时间:2023-07-29 00:38

当然不可以。
xx[i][j]+=(xx[i][j]>>4)等价于
xx[i][j]=xx[i][j]+(xx[i][j]>>4); >>是右移4位,换算成二进制计算相当于乘以2的4次方。追问不好意思,字打错了,我的意思是能不能替换成xx[i][j]+=4;

来自:求助得到的回答

热心网友 时间:2023-07-29 00:38

>>是2进制右移,相反的还有<<是2进制左移。
举例如下,如果一个变量
int x=5;
则x的2进制表示为:
0000000000000101
执行x>>1代表x右移一位,就是上面这一串整体右移,末位淘汰,高位补0
于是x变成了
0000000000000010
也就是x变成了2
<<左移相反,高位淘汰,末位补0

你的那种x[i][j]+=>4是不行的,没有这种运算符。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com