指点成金-最美分享吧

登录

js中<<是啥运算符

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了js中<<是啥运算符相关的知识,希望对你有一定的参考价值。

js中的<<时什么运算符,具体时怎么运算的?

左移运算符 (<<) 

说明
<< 运算符把 expression1 的所有位向左移 expression2 指定的位数。例如:

var temp
temp = 14 << 2
变量 temp 的值为 56,因为 14 (即二进制的 00001110)向左移两位等于 56 (即二进制的 00111000)。

javascript 按位左移运算符 (<<) 将表达式数字转换成二进制,之后向左移表达式的位。

result = 【要位移的数字】 << 【位移位数】

按位左移运算符 (<<) 将 【要位移的数字】 的位左移 【位移位数】中指定的位数。 例如:

复制代码 代码如下:

var temp;
temp = 14 << 2;
/*
14 的二进制是 00111000
00001110 向左位移2位 00111000 = 56
*/
alert(temp);
// 弹出【56】

参考技术A 移位运算符。<< :左移运算符 >>:右移运算符
先把数字转换成二进制,然后根据符号向左向右移动,根据后面的数字决定移动几位。
比如数字8,二进制是1000,那么8<<2就是1000向左移动二位,变成了100000结果是32.
原理,数字在计算机里面都是用 0000000000001000表示的。把1向左移动2个位置就是
0000000000100000 就是32。
.右移同理,8>>2 二进制1000右移2位,变成二进制10结果是 2.
注意:一般情况下移位运算符不改变a的值。除非重新赋值,比如a=a<<2本回答被提问者采纳

Go语言中的符号"<<"是啥意思,啥操作符?

左移运算符(<<)

将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

例:a = a << 2 将a的二进制位左移2位,右补0,

左移1位后a = a * 2;

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
右移运算符(>>)

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

操作数每右移一位,相当于该数除以2。

例如:a = a >> 2 将a的二进制位右移2位,

左补0 or 补1 得看被移数是正还是负。
参考技术A Go语言中的符号"<<"是什么意思,什么操作符?
位运算本回答被提问者采纳

以上是关于js中<<是啥运算符的主要内容,如果未能解决你的问题,请参考以下文章