为了账号安全,请及时绑定邮箱和手机立即绑定

c++中i<<2和i>>2的详细讲解

c++中i<<2和i>>2的详细讲解

C++
红糖糍粑 2018-07-30 13:13:04
就是在C++中有这个计算,比知道意思,可以详细讲解一下吗?顺便举例给我看下
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

有两种解释: 远小于符(<<)和 左移运算符(<<);
1,在数学公式中,“<<”代表远小于符号,表示一个数远小于另一个数,如3<<76,-92<<-2等。
2,在C++中,<<代表左移运算符,左移运算的两个操作数应为整数类型。第一个操作数是要进行移位操作的数,第二个操作数指定第一个操作数移动的位数。如果第二个操作数等于0则不发生任何移位。
应用举例:
一,问:计算表达式14 << 2的值。
答:表达式14 << 2的值为56,因为14(即二进制的00001110)向左移两位等于56(即二进制的 00111000)。你可以这样理解,左移一位相当于乘以2,左移两位就是乘以4,即14*4 = 56。
二,问: 计算表达式8 >> 2的值。
答:表达式8 >> 2的值为2,因为8(即二进制的00001000)向右移两位等于2(即二进制的00000010)。 同样,右移一位相当于除以2,右移两位相当于除以4,即 8/4 = 2。

查看完整回答
反对 回复 2018-08-03
?
Qyouu

TA贡献1786条经验 获得超11个赞

这个是位操作中的移位操作;
i<<2是i左移2位,相当于 i*4;
比如 i=1;
i<<2后,i的值变成了4;
i>>2是右移操作,相当于i/4;
比如i=4;
i>>2后,i变成了1

查看完整回答
反对 回复 2018-08-03
  • 2 回答
  • 0 关注
  • 1494 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信