recherche

Maison  >  Questions et réponses  >  le corps du texte

Opérateur JavaScript NOT au niveau du bit (~)

Voir le code de loterie pour <TFC2017/>

~~23.5 // 23

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

伊谢尔伦伊谢尔伦2756 Il y a quelques jours1051

répondre à tous(1)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-06-28 09:31:08

    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.

    répondre
    0
  • Annulerrépondre