c++中i<<2和i>>2的详细讲解
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。
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。
展开全部
i<<2和i>>2是位移运算,分别对应i的左移和右移运算,例如,如果i为4,其二进制位100,那么i<<2的值为16,其中16的二进制10000。如果是i >> 2,则值为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
移位操作,<<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
比如int i = 4,内存中i的值为 0000 0000 0000 0000 0000 0000 0000 0100
向左移2位变成:0000 0000 0000 0000 0000 0000 0001 0000
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是位操作中的移位操作;
i<<2是i左移2位,相当于 i*4;
比如 i=1;
i<<2后,i的值变成了4;
i>>2是右移操作,相当于i/4;
比如i=4;
i>>2后,i变成了1
i<<2是i左移2位,相当于 i*4;
比如 i=1;
i<<2后,i的值变成了4;
i>>2是右移操作,相当于i/4;
比如i=4;
i>>2后,i变成了1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询