资讯专栏INFORMATION COLUMN

Javascript二进制运算符的一些运用场景

RebeccaZhong / 1050人阅读

摘要:二进制或运算符二进制或运算符用来比较两个运算子,两个二进制位当中只要有一个为那么返回,否则返回常见使用场景用来进行取证异或运算符异或运算在两个二进制位不同时返回,相同时返回。

二进制或运算符
二进制或运算符用来比较两个运算子,两个二进制位当中只要有一个为1那么返回1,否则返回0

常见使用场景
用来进行取证

2.9 | 0 // 2
-2.9 | 0 // -2

异或运算符
异或运算(^)在两个二进制位不同时返回1,相同时返回0。

常见使用场景
连续对两个数进行三次异或运算,可以互换他们的值。

var a = 10;
var b = 99;

a ^= b, b ^= a, a ^= b;

a // 99
b // 10

左移运算符
左移运算符将一个数的二进制值向左移动一位,尾部补0,即乘以2的指定次方。

常见使用场景
将颜色的 RGB 值转为 HEX 值。

 var color = {r: 186, g: 218, b: 85};
 
 // RGB to HEX // (1 << 24)的作用为保证结果是6位数 var rgb2hex = function(r, g, b)
 {   return "#" + ((1 << 24) + (r << 16) + (g << 8) + b)
     .toString(16) // 先转成十六进制,然后返回字符串
     .substr(1);   // 去除字符串的最高位,返回后面六个字符串 }
 
 rgb2hex(color.r, color.g, color.b) // "#bada55"

左移0位取整

13.5 << 0
// 13

-13.5 << 0
// -13

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101195.html

相关文章

  • 「干货」细说 Javascript浮点数精度丢失问题(内附好课推荐)

    摘要:前言最近,朋友问了我这样一个问题在中的运算结果,为什么是这样的虽然我告诉他说,这是由于浮点数精度问题导致的。由于可以用阶码移动小数点,因此称为浮点数。它的实现遵循标准,使用位精度来表示浮点数。 showImg(https://segmentfault.com/img/remote/1460000018981071); 前言 最近,朋友 L 问了我这样一个问题:在 chrome 中的运算...

    senntyou 评论0 收藏0
  • ​前端教学讲义:JS基础

    讲义内容:JS 诞生的背景、基本类型、运算符 以下内容只涉及 ES5 标准,ES6 增加的新内容可以在网上查找到。 JS 诞生的背景 上世纪 90 年代网景公司开发的浏览器独步天下 一个叫做 Brendan Eich 的工程师受命于开发一款脚本语言,来增强浏览器的功能。 这名工程师花费了 10 天时间设计出了第一个版本,名叫 LiveScript。 后来因为当时 Java 正红,公司将其改名为 J...

    walterrwu 评论0 收藏0
  • 【JS进阶】你真掌握变量和类型了吗

    摘要:本文从底层原理到实际应用详细介绍了中的变量和类型相关知识。内存空间又被分为两种,栈内存与堆内存。一个值能作为对象属性的标识符这是该数据类型仅有的目的。 导读 变量和类型是学习JavaScript最先接触到的东西,但是往往看起来最简单的东西往往还隐藏着很多你不了解、或者容易犯错的知识,比如下面几个问题: JavaScript中的变量在内存中的具体存储形式是什么? 0.1+0.2为什...

    fuyi501 评论0 收藏0
  • 深入探究immutable.js实现机制(一)

    摘要:本文会集合多方资料以及我自己的一些理解,深入一些探究实现机制。位分区实际上是数字分区的一个子集,所有以的整数次幂,,,,为基数的数字分区前缀树,都可以转为位分区。其实举个例子最好理解比如数字的二进制形式是,这是一个位的二进制数。 Immutable.js 采用了持久化数据结构和结构共享,保证每一个对象都是不可变的,任何添加、修改、删除等操作都会生成一个新的对象,且通过结构共享等方式大幅...

    zhangfaliang 评论0 收藏0
  • 【译】 JavaScript中按位操作符有趣应用

    摘要:检查设定位操作符还有一些其他有用的位屏蔽应用。请注意,位掩码中的位将有效地关闭十进制数中的相应位,因为。 原文标题:Interesting use cases for JavaScript bitwise operators原文地址:https://blog.logrocket.com/in... 本文首发于公众号:符合预期的CoyPan JavaScript提供了几种运算符,可以对...

    oneasp 评论0 收藏0

发表评论

0条评论

RebeccaZhong

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<