2 comments

[ 4.9 ms ] story [ 18.9 ms ] thread
I sympathise, but doing bitwise operations on floating point values without care is just asking for it
> So 5.4 | 0 will gives 5, which is a flooring operation. However, -5.4 will give -5. And that’s a ceiling operation.

So, | is actually doing a round toward zero. It seems like the problem described is actually caused by simply misunderstanding what the floor function does (round toward negative infinity).