首页
学习
活动
专区
圈层
工具
发布

【JS】832- 位运算符在 JS 中的妙用

原文地址:http://interview.poetries.top/ 按位与(AND)& 将数字转换成二进制,然后进行与操作,再转换回十进制 // 1 的二进制表示为 00000000 00000000...-------------------- // 1 的二进制表示为 00000000 00000000 00000000 00000001 console.log(1 & 3) // 1 按位或(OR...// 由于第一位(符号位)是1,所以这个数是负数。...< 1) // 2 有符号右移 >> 将数字转成二进制,然后丢弃低位,拷贝最左侧的位以填充左侧 // 1 的二进制表示为 00000000 00000000 00000000 00000001 //...位运算符在 JS 中的妙用 判断奇偶 // 偶数 & 1 = 0 // 奇数 & 1 = 1 console.log(2 & 1) // 0 console.log(3 & 1) // 1 取整 console.log

3.7K10

javascript 中的位运算符

位与(&)、位或(|)、位异或(^)、非位(~) 左移(>)、无符号右移(>>>) &(位与) “&”运算符(位与)用于对两个二进制操作数,逐位取与 第一个数的位值 第二个数的位值 运算结果...1 1 1 1 0 0 0 1 0 0 0 0 |(位或) “|”运算符(位或)用于对两个二进制操作数,逐位取或 第一个数的位值 第二个数的位值 运算结果 1 1 1 1 0 1 0 1 1 0 0...0 ^(位异或) “^”运算符(位异或)用于对两个二进制操作数,逐位取异或 位数据相同得 0,不同得 false 两个相同的数取异或的 0 第一个数的位值 第二个数的位值 运算结果 1 1 0 1...第 3 步:把二进制反码转换为十进制浮点数 位非运算实际上就是对数字进行取负运算,再减 1 例如 ~5 等价于 -5-1 结果都是-6 <<(左移位) “运算符执行左移位运算 在移位运算过程中,符号位始终保持不变....... 00 1010 -> 10 >>(右移位) “>>”运算符执行有符号右移位运算 把数字中的所有有效位整体右移,再使用符号位的值填充空位 移动过程中超出的值将被丢弃 console.log

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java中的位运算符

    Java中的位运算符 文本关键字:位运算符、位逻辑运算符、移位运算符 一、位运算符 大家在接触运算符的时候通常都已经学完了变量的使用,对于算术以及赋值运算的感觉就是So easy!...说起位运算符,其实就是基于数据存储的二进制位进行的运算,更底层,所以效率更高。...对于整数和字符型的运算符操作也有一些潜在的法则,相信看完这篇文章你很容易就会掌握。 二、逻辑运算 在逻辑运算中我们已经使用过能够表达逻辑意义的运算符,如:&&,||,!。...与(&) 与运算 与运算相当于物理电路中的串联电路,我们假设用1代表通路,用0代表断路,那么对于串联电路来说,只有当运算符两边全为1(通路)时,运算结果才为1(通路)。 ? ?...移出的低位将被丢弃 若为正数,高位补0 若为负数,高位补1 由于符号位在高位的部分,并且在移动的过程中的补位也是根据正负的规则在补,所以右移不会改变正负。 3.

    1.1K30

    js中的instanceof运算符

    js中的instanceof运算符 概述 instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上 语法 obj instanceof Object...;//true 实例obj在不在Object构造函数中 描述 instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。...---- 实例 1.instanceof的普通的用法,obj instanceof Object 检测Object.prototype是否存在于参数obj的原型链上。...Person的原型在p的原型链中 function Person(){}; var p =new Person(); console.log(p instanceof Person);//true 2....继承中判断实例是否属于它的父类 Student和Person都在s的原型链中 function Person(){}; function Student(){}; var p =new Person()

    3.4K20

    Java中位运算符>>和>>>的区别

    <<表示左移移,不分正负数,低位补0; 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 正数:r = 20 << 2 20的二进制补码...:0001 0100 向左移动两位后:0101 0000    结果:r = 80 负数:r = -20 << 2 负数:r = -20 << 2 -20 的二进制原码...:1001 0100 -20 的二进制反码 :1110 1011 -20 的二进制补码 :1110 1100 左移两位后的补码:1011 0000     ...则高位补1; 注:以下数据类型默认为byte-8位 正数:r = 20 >> 2 正数:r = 20 >> 2 20的二进制补码:0001 0100 向右移动两位后:0000...20 的二进制反码 :1110 1011 -20 的二进制补码 :1110 1100 右移两位后的补码:1111 1011    反码:1111 1010

    77120

    Js中的逻辑运算符

    Js中的逻辑运算符 JavaScript中有三个逻辑运算符,&&与、||或、!非,虽然他们被称为逻辑运算符,但这些运算符却可以被应用于任意类型的值而不仅仅是布尔值,他们的结果也同样可以是任意类型。...尽管&&和||运算符能够使用非布尔值的操作数,但它们依然可以被看作是布尔操作符,因为它们的返回值总是能够被转换为布尔值,如果要显式地将它们的返回值或者表达式转换为布尔值,可以使用双重非运算符即!!...短路计算 由于逻辑表达式的运算顺序是从左到右,是适用于短路计算的规则的,短路意味着下面表达式中的expr部分不会被执行,因此expr的任何副作用都不会生效。...&&逻辑与运算符的一个很重要的用法就是寻找第一个falsy的值,并利用短路运算可以避免一些异常。...||逻辑或运算符的一个很重要的用法就是寻找第一个truthy的值,这个操作的使用频率非常高,通常用来赋值默认值。

    3.7K20

    js中的逻辑运算符 || 、&& 、!

    js中常见的逻辑运算符 || 、&&、!...当两个条件都为false时,结果才为false; 当一个条件为true时,后面的条件不再判断; 注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值;如果结果为false,会返回第二个为假的值...两边条件都为true时,结果才为true; 如果有一个为false,结果就为false; 当第一个条件为false时,就不再判断后面的条件; 注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值...;如果结果为false,返回的会是第一个为假的值。...1); // false ps:&&的优先级大于|| 比如console.log(3||2&&5||0),会先算2&&5的值为5,然后再3||5----3,最后再3||0----3,所以最终结果为3。

    3.7K30

    深入解析Java中的位运算符:和>>>

    当谈到位运算符时,Java中的>和>>>运算符在源码中无疑是经常出现的。这些运算符在处理整数类型的数据时发挥着重要作用。它们主要用于对二进制位进行操作,是一种高效处理位级信息的方式。...让我们深入探讨一下这些运算符的工作原理以及它们在Java中的应用。 位运算符概述 位运算符是用来对整数类型的数据在二进制位级别进行操作的。它们不考虑数值的正负,而是直接处理其二进制表示。...在Java中,主要有三个位运算符:>(带符号右移)和>>>(无符号右移)。 左移运算符 << 左移运算符(的二进制表示向左移动指定的位数,右侧空出的位置补0。...num*8 和 num 的作用和结果是相同的,但是使用位运算符效率更高。...如果操作数是short、byte、char,位运算前值会自动转为int,运算结果也为int。 总结 在Java中,>和>>>位运算符是对整数类型数据的二进制位进行操作的重要工具。

    62920

    说说Python中的6种位运算符?

    废话不多说,开始今天的题目: 问:说说Python中的6种位运算符?...答:在Python中,按位运算符有左移运算符(运算符(>>)、按位与运算(&)、按位或运算(|)、按位取反运算(~)、异或运算符,其中按位取反运算符为单目运算符 。...运算符 描述 实例 & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释:0000 1100 | 按位或运算符:只要对应的二个二进位有一个为...: 按位运算符是把数字看作二进制来进行计算的。...Python中的按位运算法则如下: 按位与 ( bitwise and of x and y ) & 举例:5&3 = 1 解释:101 11 相同位仅为个位1 ,故结果为 1 按位或

    83230

    Js中的位操作符

    Js中的位操作符 JavaScript的数字类型为双精度IEEE 754 64位浮点类型,但是在位运算中位运算符用于32位的数字上, 任何的数字操作都将转为32位, 运算结果再转化为Js数字类型。...描述 所有的按位操作符的操作数都会被转成补码形式的有符号32位整数,从概念上讲,按位逻辑操作符按遵守下面规则: 操作数被转换成32位整数,用比特序列(0和1组成)表示,超过32位的数字会被丢弃。...第一个操作数的每个比特位与第二个操作数的相应比特位匹配,第一位对应第一位,第二位对应第二位,以此类推。 位运算符应用到每对比特位,结果是新的比特值。...n (n 位,丢弃被移出的位。...n (n位,丢弃被移出的位,并使用0在左侧填充,所以结果总是非负的,即便右移0个比特,结果也是非负的,所以对于>>>一般不用于负数操作。

    1.3K20

    深入理解Java中的位运算符

    摘要  本文将深入介绍Java中的位运算符,包括按位与、按位或、按位异或、按位取反、左移、右移等,同时详细解析它们的用法和实现原理,并通过实例演示如何应用位运算符来解决程序中的实际问题。...此外,本文还将分析位运算符的优缺点,展示它们在编程中的一些常见应用场景,以及实现位运算的相关类和方法。Java之位运算符简介  Java中的位运算符是用来对二进制数进行运算的。...该运算符将操作数的二进制表示中的每个位取反,即0变为1,1变为0。在该代码中,变量a被赋值为5,其二进制表示为101。因此,按位取反运算符将其转换为010,即2的补码表示。...小结  本文介绍了Java中的位运算符,包括按位与、按位或、按位异或、按位取反、左移、右移等。同时还详细解析了它们的用法和实现原理,并通过实例演示如何应用位运算符来解决程序中的实际问题。...总结  本文介绍了Java中的位运算符,包括按位与、按位或、按位异或、按位取反、左移、右移等。同时还详细解析了它们的用法和实现原理,并通过实例演示如何应用位运算符来解决程序中的实际问题。

    1.2K41

    深入解析Java中的位运算符:>和>>>

    当谈到位运算符时,Java中的>和>>>运算符在源码中无疑是经常出现的。这些运算符在处理整数类型的数据时发挥着重要作用。它们主要用于对二进制位进行操作,是一种高效处理位级信息的方式。...让我们深入探讨一下这些运算符的工作原理以及它们在Java中的应用。位运算符概述位运算符是用来对整数类型的数据在二进制位级别进行操作的。它们不考虑数值的正负,而是直接处理其二进制表示。...在Java中,主要有三个位运算符:>(带符号右移)和>>>(无符号右移)。左移运算符 运算符(的二进制表示向左移动指定的位数,右侧空出的位置补0。...num*8 和 num 的作用和结果是相同的,但是使用位运算符效率更高。...如果操作数是short、byte、char,位运算前值会自动转为int,运算结果也为int。总结在Java中,>和>>>位运算符是对整数类型数据的二进制位进行操作的重要工具。

    4.9K00

    java 的位运算符

    two. */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 在 Main 方法中 计算1 的结果是...首先看 1 位,用 二进制表示就是 0000 0001 十进制表示是 1 0001 0000 十进制表示是16 左移运算符就是在给定数值的基础上向左移动 N...(1 << 36); 最后的得出结果还是16,而且在 IDEA 中还提示 // Shift operation '<<' by overly large constant value 也就是说左移 32...如果是 long 类型,则相应的操作位数会变大,变成64 位,所以 long 类型 左移 64 位无变化,左移 66 位相当于 (66%64 = 2)位 ---- 右移 运算符 右移运算符分为 2 种,...>> (右移运算符) 和 >>> (无符号右移运算符) >> (右移运算符) 右移运算符就是向右移动指定的位数,左边补上0,比如 10 >> 2 0000 1010 右移 >> 0000 0010 结果就是

    1.5K60

    -位运算符

    1、Java中的位运算符(操作符) 位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。...1.4.异或运算符 异或运算符是用符号“^”表示的,其运算规律是: 两个操作数的位中,位相同则结果为0,不同则结果为1。...2.Java中的运算符(操作符) 程序的基本功能是处理数据,任何编程语言都有自己的运算符。因为有了运算符,程序员才写出表达式,实现各种运算操作,实现各种逻辑要求。...为实现逻辑和运算要求,编程语言设置了各种不同的运算符,且有优先级顺序,所以有的初学者使用复杂表达式的时候搞不清楚。这里详细介绍一下Java中的运算符。...4、关系运算符 Java具有完备的关系运算符,这些关系运算符同数学中的关系运算符是一致的。

    1.2K20

    位1的个数 逻辑位运算符

    逻辑位运算符 位运算就是对二进制数执行计算,是整数的逐位运算。 图片.png & 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。...| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1。 ^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1。...~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1。 << 左移 用来将一个数的各二进制位全部左移N位,右补0。...位1的个数 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。...示例 1: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1

    1.3K30

    Java中的位运算符,你真的掌握了吗?

    本篇文章主要介绍Java中的位运算符,为零基础的Java学习者提供详细的入门指导。...本文将着重介绍Java中的位运算符,包括它们的用法、应用场景案例以及其他相关的知识点。 Java-位运算符 简介   在计算机程序中,二进制数字是非常常见的。...我们定义了一些变量并使用了Java中的位运算符对它们进行操作。...应用场景案例 Java中的位运算符广泛应用于以下场景: 位掩码操作   位掩码是一种将多个开关的状态存储在单个数中的技术,它广泛应用于计算机图形学领域。...本文详细介绍了Java中的各种位运算符及其使用方法,同时还介绍了位运算符的应用场景案例和其他相关知识点。通过学习本文,读者可以更好地理解Java中的位运算符和其作用,从而提高编程技能和效率。

    70561
    领券