zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    使用 requests 维持会话
    使用 requests 发送 POST 请求
    使用 requests 发送 GET 请求
    requests 安装
    使用 urllib 分析 Robots 协议
    使用 urllib 解析 URL 链接
    使用 urllib 处理 HTTP 异常
    使用 urllib 处理 Cookies 信息
    使用 urllib 设置代理服务
    按单生产程序发布
  • 原文地址:https://www.cnblogs.com/yhq361/p/4307795.html
Copyright © 2011-2022 走看看