首页 > 其他分享 >js按位运算符(按位或,按位与,按位异或)

js按位运算符(按位或,按位与,按位异或)

时间:2023-11-15 16:22:36浏览次数:33  
标签:--- console 进制 00000001 运算符 异或 按位

1. 按位操作的概念:

  按位操作为, 将数据转化为二进制八位展示/十六位展示后根据条件进行计算的操作

2. 按位运算符分类:

  &: 按位与

  |: 按位或

  ^: 按位异或

  ~: 按位非

  <<: 左移运算符

  >>: 右移运算符

  >>>: 无符号右移

3. 具体讲解:

  &: 按位与  ---- 将数据变为二进制后每一位数字进行 “与” 的操作,  按位对比,1, 1 -> 1, 其余均为0  

    例:console.log(1 & 3) // 1  
    分别转换为2进制  1 --->    00000001

              3 --->    00000011

    按照与的操作   结果     00000001  -> 对应10进制的 1 

    (1,1 -> 1, 其余均为0 )

 

  |: 按位或  ---- 将数据变为二进制后每一位数字进行 “或” 的操作, 按位对比, 0,0 -> 0, 其余均为1

    例: console.log(1 | 3) // 3

 

    分别转换为2进制  1 --->    00000001

 

              3 --->    00000011

 

    按照或的操作   结果     00000011  -> 对应10进制的 3

 

    (0,0 -> 0, 其余均为1)

 

  ^: 按位异或  ---- 将数据变为二进制后每一位数字进行 “异或” 的操作,  按位对比,相同为0, 不同为1  

    例: console.log(1 ^ 3) // 2

 

    分别转换为2进制  1 --->    00000001

 

              3 --->    00000011

 

    按照或的操作   结果     00000010  -> 对应10进制的 2

 

    (相同为0, 不同为1)

 

  ~: 按位非  ---- 将数据变为二进制后每一位数字进行 “非” 的操作

    例: console.log(~1) // 2                console.log(~-1)

    分别转换为2进制  1 --->    00000001         10000001

    取反 -> 得到补码       11111110          01111110

    第一位为符号位, 0为+, 1为-  -            +  

    取下补码1  剩余数据     1111110           1111110

    取反            0000001          1111111    -- 负数先+1

    +1             0000010          0000000    -- 后取反

    转10进制,加上符号 --->   -2              0

    

    

    

              

 

标签:---,console,进制,00000001,运算符,异或,按位
From: https://www.cnblogs.com/workJiang/p/17834111.html

相关文章

  • go--运算符
    前戏运算符用于在程序运行时执行数学或逻辑运算。Go语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符算术运算符下表列出了所有Go语言的算术运算符。假定A值为10,B值为20。运算符描述实例+相加A+B输出结果30-......
  • Symbol是构造方法,但它不是完整的构造方法,使用Symbol来创建Symbol对象时,不使用new运算
    执行以下程序,下列选项中,说法正确的是()vars1=Symbol('a');vars2=Symbol('a');vars3=Symbol.for('b');vars4=Symbol.for('b');console.log(typeofs1);...①console.log(s1==s2);...②console.log(s3==s4);...③A①式输出结果为Object......
  • Python的运算符
    1.算数运算  +-*///%"//"除"%"余a=20b=3c=a//bd=a%b#20/3=6.....2print(c)print(d)#运行结果62 让用户输入一个数字.判断是否是35的倍数n=int(input("来个数:"))ifn%35==0:print("是35的倍数")else:pri......
  • day03 Java基础——各种运算符
    一、自增自减运算符、Math类publicclassDemo04{publicstaticvoidmain(String[]args){//++--自增,自减一元运算符inta=3;intb=a++;intc=++a;System.out.println(a);System.out.println(a);......
  • 秦疆的Java课程笔记:30 基础 三元运算符及小结
    扩展赋值运算符:+=,-=,*=,/=publicclassDome1{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//相当于a=a+bSystem.out.println("a="+(a));intc=30;intd=15;......
  • js:可选链运算符(?.)和空值合并运算符(??)
    文档:可选链运算符(?.)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining空值合并运算符(??)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing目录1、可选链运算符(?.)2、空值合并运算......
  • 秦疆的Java课程笔记:27 基础 基本运算符
    Java语言支持的运算符:算数运算符:基础四则运算:+加法,-减法,*乘法,/除法%取余,或称“模运算”++自增,--自减赋值运算符:=关系运算符:>大于,<小于,>=大于等于,<=小于等于==等于,!=不等于instanceof对象运算符,用来判断一个对象是否属于某个指定的类或其子类的实例,如果是,返回true,否则......
  • Java零基础入门-运算符
    前言Java作为一种广泛应用的编程语言,其有丰富的运算符用于程序的编写。掌握Java的运算符是学习Java编程的基础之一,在本文中,我们将讨论Java中各种运算符的使用方法,以帮助初学者更好地理解Java运算符的使用。摘要本文旨在为初学者提供关于Java运算符的详细介绍。本文涵盖的运算符......
  • 无涯教程-Dart - 运算符
    在本章中,我们将讨论Dart中可用的运算符。算术运算符关系运算符类型运算符按位运算符赋值运算符逻辑运算符算术运算符下表显示了Dart支持的算术运算符。Sr.NoOperators&Meaning1+相加2-相减3-expr一元减号,也称为负数4*相乘5/相除6~/相除,返回整......
  • 【LC周赛-371】 D. Trie树求最大异或对
    【LC周赛-371】D.Trie树求最大异或对题意给一个数组,求两个数满足|x-y|<=min(x,y)的异或最大值。题解从|x-y|<=min(x,y)知道,每个y可以考虑的x范围是y/2<=x<y;然后Trie树实现更优复杂度内,从窗口获得最大异或值思路就是高位依次取值,具体看代码吧代码constint......