>"-6ren"> >"-我看过Jason Davies's Word Cloud source on Github在 index.js 内有一些变量是这样声明的: cw = 1 > 5, ch = 1 >”之后的值(在“>做-6ren">
gpt4 book ai didi

Javascript 语法 : variable declaration with "<<" or ">>"

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:46 26 4
gpt4 key购买 nike

我看过Jason Davies's Word Cloud source on Githubindex.js 内有一些变量是这样声明的:

cw = 1 << 11 >> 5,
ch = 1 << 11;

我注意到了这个模式:“<<”之前的值乘以“<<”之后的值;
“<<”之后的值是指定值的 2 次方;
“>>”之后的值(在“<<”之后)除以之前的数字(也是 2 的值的幂);

我很好奇:

  1. 一般来说,这种类型的声明有什么用,它来自哪里

  2. 它如何为 Jason Davies 布局的其余部分中的代码增加值(value)?

最佳答案

查看此 link

基本上,<<>>做按位移位。如果你这样做 a << b , 它将代表 a作为基数 2(0 和 1)中的数字并将所有数字向左移动 b职位。这在数学上等同于

a * 2^b

>>原理相同,只是向右移动。这几乎类似于除以 2,但当初始数字为奇数时存在一种特殊情况:它会降低结果。

⌊(a / 2^b)⌋

如果你有1 << 11 >> 5 , 左移和右移相互抵消,我们在现实中结束了

1 << 6 === 64 === 1 * 2^6

关于Javascript 语法 : variable declaration with "<<" or ">>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38730814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com