• Javascript--位运算符


    1.NOT

    位运算符NOT由~表示.NOT运算符的实质是对数字求负,然后减1.

    位运算符NOT是三步的处理过程.

    a.把运算符转换成32位数字

    b.把二进制形式转换成它的二进制反码

    c.把二进制反码转换成浮点数

    例子:

            var num=10;
            document.write(~num);
    结果:
    -11
    2.AND
    位运算符AND由&表示.直接对数字的二进制形式进行运算.运算规则如下:
    第一个数字 第二个数字 结果
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    例子:

            var num1=10;

    结果:

    image 10的二进制表示1010

    3.OR

    位运算符OR由符号|表示.直接对二进制进行运算,规则如下:

    第一个数字 第二个数字 结果
    0 0 0
    0 1 1
    1 0 1
    1 1 1

    例子:

            var num1=10;

    结果:

    image 11的二进制表示是1011

    4.XOR

    位运算符XOR由符号^表示.直接对二进制进行运算.规则如下:

    第一个数字 第二个数字 结果
    0 0 0
    0 1 1
    1 0 1
    1 1 0

    例子:

            var num1=10;

    结果:

    image 1的二进制表示是1

    5.<<

    左移运算符由<<表示.它把数字中所有位数向左移动指定的数量.

    注意:

    a.在左移数位时,数字右边的空位由0来填充,使结果是完整的32位数字

    b.左移操作保留数字的符号位.

    例子:

            document.write(10<<2+"<br/>");
            document.write(-10<<2);

    效果:

    image

    6.>>

    有符号右移运算由>>表示.它将32位数字中的所有数字整体右移.同时保留该数的符号.

    注意:

    a.符号位保持不变

    b.在右移数位时,数字左边的空位由0填充

    例子:

            document.write(10>>1);
            document.write("<br/>");
            document.write(-10>>1);

    效果:

    image 

    7.>>>

    无符号右移由>>>表示.它将32位数字中的所有数字整体右移.

    注意:

    a.无符号右移运算用0填充所有空位.

    b.对于整数,无符号右移和有符号右移结果一样.

    c.对于负数,由于左侧补0,导致负数经过无符号右移后,变为一个正数

    例如:

           document.write(-10>>>1);

    结果:

    image

    运算过程:

    -10

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0

    经过无符号右移-10>>>1

    0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1

    结果:

    2147483643

  • 相关阅读:
    47c# 新建线程Thread,线程内与操作窗体控件
    48Command line is too long. Shorten command line for Test or also for
    MySQL 基础
    MySQL 的 GRANT和REVOKE 命令
    Linux 配置免密登录
    本地多个rdb文件,导入自建redis
    自建codis上阿里云
    Windows删除指定目录下的3天前的文件
    VS2017:提示“Error MSB8020 The build tools for v142 (Platform Toolset = 'v142') cannot be found. 。。。。”错误解决办法
    根据文件File,返回名称excel名称管理器对应的行和列
  • 原文地址:https://www.cnblogs.com/yhq361/p/4307795.html
Copyright © 2020-2023  润新知