MoonCheung

MoonCheung

人生路漫漫,何曾有坦途。:)

算法解析

位运算:#

在学习位运算之前需要了解十进制如何转二进制,二进制如何转十进制,这里说明简单计算方式:要从右到左用二进制的每个数去乘以 2 的相应次方,小数点后则是从左往右

  1. 例如:二进制如何转十进制位运算
    所以总结起来通用公式为:位运算 1
  2. 例如:十进制如何转二进制
    十进制整数转换为二进制整数采用除 2 取余,逆序排列法。具体做法:用 2 整除十进制整数,可以得到一个商和余数;再用 2 去除商,又会得到一个商和余数,如此进行,直到商为小于 1 时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。如:255=(11111111) B

左移 <<:#

10 << 1; //-> 10在二进制表示为1010,计算左移1位等于10100,然后再次转换十进制得到20

右移 >>:#

13 >> 1; // -> 十进制13看成12+1,12在二进制表示为‭1100‬,计算右移1位等于110,然后再次转换十进制得到

按位操作:#

按位与:#

每一位都为 1,结果才为 1, 否则为 0

10 & 8; // -> 1010 & 1000 == 1000 -> 8

按位或:#

其中一位为 1,结果就是 1, 否则为 0

10 | 8; // -> 1010 | 1000 == 1010 -> 10

按位异或:#

每一位都不同,结果才为 1, 否则为 0

15 ^ 5; // -> ‭1111‬ ^ ‭0101‬ == 1010‬ -> 10
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。