【发布时间】:2015-03-19 00:24:36
【问题描述】:
在 JavaScript 中,我们可以使用按位左移和右移运算符来截断浮点数并将其向下舍入到最接近的整数。
例子:
console.log(2.667 << 0); //outputs 2
console.log(2.667 >> 0); //outputs 2
这些位运算符也做同样的事情:
console.log(2.667 | 0); //outputs 2
console.log(0 | 2.667); //outputs 2
console.log(~~2.667); //outputs 2
然而,在 Python 中,相同的操作会返回错误。
在 Python 中是否有任何等价物——使用位运算符?或者我必须使用 int() 和 floor division 来实现我想要的吗?
【问题讨论】:
-
有按位运算符,但您不能像这样按位移动浮点数... Javascript 有很多非标准行为。您想要的是
round、floor或int,具体取决于您的上下文。
标签: javascript python bit-manipulation rounding floor