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。

  • 相关阅读:
    anroid scaleType属性对应的效果
    Cannot make a static reference to the non-static method的解决方案
    Java indexOf()的两个用法
    Android关于notification的在不同API下的用法说明
    Android notification的使用介绍
    第九章 虚拟内存管理
    第八章 内存管理
    第四章 线程
    第二章 操作系统结构
    第一章 计算机系统概述
  • 原文地址:https://www.cnblogs.com/xizhenghe/p/8486742.html
Copyright © 2011-2022 走看看