• javascript ~~ 符号是什么意思呢?


    ~ bitwise NOT 运算符

    ~对操作数按位取反,两个的意思即作两次取反操作,其实是等作原数本身(操作数是32整数范围内)

    ~~(Math.random()*7)

    var n = Math.random() * 7;
    n = ~n;
    n = ~n;//其实和初始值一样

    和对BOOLEAN类型的作两次!操作是一个意思,只不过是把小数位给去掉了。

    推荐用>>操作符,一次即可:

    var n = Math.random() * 7;
    n = n>>0;

    ~运算符的详细解释:

    将 expression 转换为一个 32 位带符号整数,然后按位对 1 求补。即,将结果中为 0 的每一位设置为 1,并将结果中为 1 的每一位设置为 0。结果是一个带符号的 32 位整数。此运算符也称为对一求补运算符或按位求补运算符。

    例如,十六进制值 0x7777 表示为二进制数:


    0111011101110111

    该十六进制值 ~0x7777 的按位取反的二进制数为:


    1000100010001000

    在十六进制中,它是 0x8888。因此,~0x7777 就是 0x8888。


    位运算符的最常见用法是提供特征位(为每一位填充一个布尔值)。

  • 相关阅读:
    CPP STL学习笔记
    CPP 设计模式学习
    blackarch 安装指南
    通过 Http 请求获取 GitHub 文件内容
    实践
    升级
    部署-MySql 之Linux篇
    数据库
    RxJs
    Vue
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/11414602.html
Copyright © 2020-2023  润新知