Opérateur JavaScript NOT au niveau du bit (~)
伊谢尔伦
伊谢尔伦 2017-06-28 09:29:08
0
1
1040

Voir le code de loterie pour <TFC2017/>

~~23.5 // 23

Pourquoi l'opérateur ~ peut-il arrondir les nombres ?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(1)
伊谢尔伦

via ToInt32. Sa fonction est d'inverser la forme binaire de l'opérande au niveau du bit. Donc deux ~~ connectés ensemble sont équivalents aux opérations suivantes :

  1. Effectuez ToInt32 sur l'opérande

  2. Flip au niveau du bit

  3. Le retournement au niveau des bits utilise toujours l'arrondi de la valeur absolue de ToInt32

De plus, il existe une astuce assez pratique concernant l'opérateur ~ : ~(-1) 的值为 0,而且 -1 是唯一一个经过 ~ 运算返回假值的值(包括其他那些特殊的值比如 NaN、{}、[] 等都不会返回假值)字符串和数组的 indexOf 函数查找失败会返回 -1,这时候就可以用 if(~str.indexOf('str')) // 来表示找到了
比判断 >= 0 或者 != -1 更优雅,跟用 !! Il a le même effet pour juger des valeurs non fausses

Auteur : mdluo
Lien : https://www.zhihu.com/questio...

L'arrondi convertit les nombres à virgule flottante en entiers binaires de 32 bits, de sorte que les opérations sur bits qui peuvent restaurer l'état peuvent être arrondies, comme 23.5 >> 0 //2323.5 >> 0 //23.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal