为什么将十六进制数移1位会削减点数

时间:2017-10-05 11:37:59

标签: javascript math binary hex

我在JavaScript中搜索了一个用于创建随机十六进制颜色的方法。

我发现的是:'#'+(Math.random()*0xFFFFFF<<0).toString(16);我发现了here

我不喜欢复制我不理解的代码。我想除了一个小细节外,我得到了一切。这部分就在这里:<<0。通过将二进制代码向左移动“0”,可以在该点之后剪切所有数字。但为什么会削减数字呢?如果我使用二进制计算器并输入类似13和13.2的东西,它会给我相同的结果。那么用0来移动整个事物会减少点数呢?

我创造了一个小提琴来展示我的意思:

https://fiddle.jshell.net/ucjb3quL/

我希望你能帮助我

0 个答案:

没有答案