zoukankan      html  css  js  c++  java
  • javascript 位操作符

    提要:位操作符逻辑上可能要复杂一点因为习惯了使用十进制,而位操作符是基于二进制,由于机器更容易理解二进制语言,所以使用二进制的目的是提高运算速度。

    (1)位非操作符:表示为 ~a 理解起来很简单就是转为二进制然后每一位这样操作如果是0换成1如果是1换成0,其操作结果的十进制表示相当于-a-1。

    (2)位与操作符:标识为 a&b,计算法则是先把a,b转换成二进制,对齐,然后对a,b的同一位置进行比较,比较规则是0 0 ->0, 0 1->1, 1 0->1, 1 1->1,可以通过a&1来判断a的奇偶。

    (3)异或操作符:表示为a^b, 计算法则是先把a,b转换成二进制,对齐,然后对a,b的同一位置进行比较,比较规则是0 0 ->0, 0 1->1, 1 0->1, 1 1->0,可以用来加密数字a^b^b=a。

    (4)左移操作符:表示为a<<b,计算法则是把a转换成二进制,然后把二进制后面加b个1,可以用来代替部分乘法比如:3*8 -》 3<<3。

    (5)右移操作符:表示为a>>b,计算法则是把a转换成二进制,然后把二进制从后往前去掉b位,可以用来代替部分除法比如:100/16 -》 100>>4。

    除了以上用法,位操作符还可以用来:

    1、两个数做交换:c=a^b, a=c^a, b=c^b.

    2、判断两个数是否相等:a^b=0则a=b。

  • 相关阅读:
    Python 的 Socket 编程教程
    java中的io系统总结
    java FileFilter的使用
    Java System 类详解 in, out, err
    电子邮件和短信将令情书绝迹
    一些有趣的编程名言
    10个经典的Android开源应用项目 android入门
    从装饰者设计模式学习Java IO
    python 求N以内的所有的质数
    java中length,length(),size()区别
  • 原文地址:https://www.cnblogs.com/xizhenghe/p/8486742.html
Copyright © 2011-2022 走看看