a[i]<<=2; C语言中,这语句什么意思

大哥大姐们哪位知道,a[i]<<=2; C语言中,这语句什么意思
最新回答
﹛理葙﹜忄青λ

2024-10-22 08:25:04

“<<” 代表左移运算符.
a[i]<<=2 即: 将a[i] 对应的二进制向左移两位.
左移运算通过可以用来做2的多次方乘法, 左移1位等于乘以2的一次方

因此在不溢出的情况下: a[i]<<=2; 其实等价于: a[i]乘以2的2次方
即: a[i]<<=2 等价于 a[i]=a[i]*2*2=a[i]*4
何来以后

2024-10-22 12:52:56

将a[i](char 型数据)的值按位左移两位(二进制)右端补0,若a[i]为十进制21,则其二进制为0010 0001b,左移两位就是00 1000 0100,因为a[i]为8位,所以最左边两位舍去,变为1000 0100(十进制为132),a[i]也可以是int,long型,但不能是float,double
花若怜

2024-10-22 13:30:33

这个是移位运算吧。将a[i]转化为二进制,向左移两位。