【发布时间】:2018-10-31 20:39:29
【问题描述】:
假设我编写了如下代码:
console.log((5/3)|0)
结果是1。
但是为什么?在我看来,|0 意味着+0。但是为什么可以取消小数部分呢?
谁能通过显示它的内部二进制数字来让我完全理解它,我怎样才能一步一步地得到这个结果?
【问题讨论】:
-
您确定要对浮点值进行按位运算吗?这通常效果不佳。
-
我只是想知道为什么?如果您不知道或不想回答我的问题,则给出负分是不公平的……:(如果您有空闲时间,可以玩一下……您注意到了吗?
-
Bitwise operators
[...]The operands of all bitwise operators are converted to signed 32-bit integers in two's complement format.[...] -
有人否决了您的问题可能有很多原因(不是我),idownvotedbecau.se 列出了一些更突出的原因。我还建议您read about how to ask good questions,学习如何创建Minimal, Complete, and Verifiable Example,并阅读this SO question checklist,以确保您有一个好的问题。
-
您的问题对我来说看起来不错,但抱怨反对票会让人们三思而后行。
标签: javascript numbers bitwise-operators arithmetic-expressions