~~如何作为math.floor工作?

恶毒的

我知道〜是按位的NOT运算符,但是将数字上的位反转两次使它如何用作Math.floor Java中~~(“ double tilde”)有什么作用?描述了使用Math.floor与按位运算来舍入Java中的数字之间的区别,但是我对两次将位精确地反转如何实现这一点感兴趣。

谢谢

保罗·S。

规范,按位不,~

  1. 我们expr要评估的结果UnaryExpression
  2. 我们oldValueToInt32(GetValue(expr))
  3. 返回对进行按位补码的结果oldValue结果是一个有符号的32位整数。

ToInt32 这里的定义

32位整数的“补码”ii XOR 0xFFFFFFFF

所以把所有在一起,你有~~i作为的意义

ToInt32(i) XOR 0xFFFFFFFF XOR 0xFFFFFFFF
// same as 
ToInt32(i) XOR 0x00000000
// same as
ToInt32(i) 

请记住,负数在取整方向上的差异。


就我个人而言,我更喜欢使用x | 0over,~~x因为对于相同结果,它涉及的操作更少。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Math.Floor

来自分类Dev

math.min如何工作

来自分类Dev

如何在Math.floor中使用变量

来自分类常见问题

Math.max.apply()如何工作?

来自分类Dev

Java.math.BigInteger.and()如何工作?

来自分类Dev

Math.random() 在 Java 中是如何工作的?

来自分类Dev

不使用Math.floor即可在Math中使用Javascript管道获取Math.floor

来自分类Dev

性能:toFixed()与Math.floor(x * 10000)

来自分类Dev

关于python math.floor()的用法

来自分类Dev

Math.floor()和parseFloat()是否冲突?

来自分类Dev

Math.floor到底做什么?

来自分类Dev

Javascript - Math.floor 不起作用

来自分类Dev

Lua math.floor 返回错误的值

来自分类Dev

Python除法:// vs math.floor

来自分类Dev

如何将Math工作拆分为工作线程Java

来自分类Dev

Love2D - 如何对 love.graphics.scale 结果进行 math.floor 计算?

来自分类Dev

Math.floor VS Math.trunc JavaScript

来自分类Dev

Math.floor(Math.random()* 5 +1)的运算顺序?

来自分类Dev

停止 rnd = Math.floor(Math.random() * 3) + 1;

来自分类Dev

专门使用“ []”作为参数如何工作?

来自分类Dev

i [“ string”]如何作为条件语句工作?

来自分类Dev

Prolog如何作为智能语言工作?

来自分类Dev

Google Translate如何作为代理工作?

来自分类Dev

变量声明如何作为函数工作?

来自分类Dev

DAEMON(3)如何工作?作为后台运行

来自分类Dev

如何使GPSD作为服务器工作?

来自分类Dev

Math.Pow(等等)如何实际工作

来自分类Dev

math.min实际上如何工作?

来自分类Dev

math.min实际上如何工作?