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

就是在C++中有这个计算,比知道意思,可以详细讲解一下吗?顺便举例给我看下... 就是在C++中有这个计算,比知道意思,可以详细讲解一下吗?顺便举例给我看下 展开
 我来答
百度网友d111d87
推荐于2017-11-25 · TA获得超过340个赞
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:94.5万
展开全部
有两种解释: 远小于符(<<)和 左移运算符(<<);
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。
agole1989
2013-07-19 · 超过30用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:89.4万
展开全部
i<<2和i>>2是位移运算,分别对应i的左移和右移运算,例如,如果i为4,其二进制位100,那么i<<2的值为16,其中16的二进制10000。如果是i >> 2,则值为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周生008
2013-07-19 · TA获得超过1222个赞
知道小有建树答主
回答量:1329
采纳率:0%
帮助的人:649万
展开全部
移位操作,<<2表示向左移2位,>>2表示向右移2位
比如int i = 4,内存中i的值为 0000 0000 0000 0000 0000 0000 0000 0100
向左移2位变成:0000 0000 0000 0000 0000 0000 0001 0000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序猿3号
2013-07-19 · TA获得超过1811个赞
知道小有建树答主
回答量:1029
采纳率:33%
帮助的人:771万
展开全部
这个是位操作中的移位操作;
i<<2是i左移2位,相当于 i*4;
比如 i=1;
i<<2后,i的值变成了4;
i>>2是右移操作,相当于i/4;
比如i=4;
i>>2后,i变成了1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式