常见的JavaScript位运算

平常的数值运算都是转成二进制再进行计算,而位运算则是直接进行二进制,因此执行效率会比较高,而且有的地方使用位运算会使得代码很精简,当然缺点是代码的可读性不是很好;下面介绍几种常用的位运算:

一、取整

// 异或运算取整::位运算只对整数有效,遇到小数时,会将小数部分舍去,只保留整数部分。所以,将一个小数与0进行或运算,等同于对该数去除小数部分,即取整数位。
12.9 ^ 0 // 12
-12.9 ^ 0 // -12

// 双否定位操作符取整
~~4.9 // 4
~~(-4.9) // -4

// 左移0位,就相当于将该数值转为32位整数,等同于取整,对于正数和负数都有效。
13.5 << 0 // 13
-13.5 << 0 // -13

// 或运算取整:位运算只对整数有效,遇到小数时,会将小数部分舍去,只保留整数部分。所以,将一个小数与0进行或运算,等同于对该数去除小数部分,即取整数位。
2.9 | 0 // 2
-2.9 | 0 // -2

题外话:Math.round是四舍五入的。。。ceiling是向上取整。。float是向下取整

二、判断奇数、偶数

function assert(n) {
    if (n & 1) {
          console.log("n是奇数");
    } else {
          console.log("n是偶数");
    }
}

三、推荐趣题:

你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?

参考资料:
js中使用位运算,让执行效率更高

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 3,919评论 0 0
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 3,980评论 0 0
  • 本文章主要讲解JS中位运算符的基本说明和常见用法 位运算符用于32位的数字上, 任何的数字操作都将转为32位, 运...
    jicemoon阅读 4,913评论 2 3
  • DAY 01 JAVA简述 Java是由SUN公司在1995年推出的一门高级编程语言,是现今服务器端的首选编程语言...
    周书达阅读 4,603评论 0 0
  • 💻计算机为什么会加减乘除?笔者是一直都没了解过,认为加减乘除就是理所当然的事情,但计算机中的万物皆为0、1,笔者的...
    JasonJe阅读 4,075评论 0 0