当前位置: 首页 > news >正文

笔记_js运算符

目录

      • 二进制相关运算符
        • 移位运算符
          • <<
          • >>
        • |(位或运算)
      • 参考文档

二进制相关运算符

移位运算符

移位运算就是对二进制进行有规律的移位。

tips:进制转换文档链接

<<

“<<”运算符执行左移位运算。在移位运算过程中,符号位始终保持不变。如果右侧空出位置,则自动填充为 0超出 32 位的值,则自动丢弃

举例说明

  • 把数字 5 向左移动 2 位

    数字5转化为2进制为101
    101补足32位为 0000000000000000 0000000000000101
    左移2位(右侧以0补齐) 为 10100 转换为10进制为20

      console.log(5<<2)  // 20
    
>>

“>>”运算符执行有符号右移位运算。与左移运算操作相反,它把 32 位数字中的所有有效位整体右移,再使用符号位的值在高位填充空位。移动过程中超出的值将被丢弃

举例说明

  • 将数字1000右移8位

    数字1000转化为2进制为 1111101000
    补足32位为 0000000000000000 0000001111101000
    右移8位,用符号位值0填补空位,移动后的值为
    0000000000000000 000000000000001111101000 超过32位被截断 ===> 11101000
    最终二进制值为11
    转化为10进制值为3

      console.log( 1000 >> 8 ) // 3
    
  • 将-1000右移8位

    -1000的二进制为 0000011000
    补足32位为 11111111 11111111 11111100 00011000
    右移动8位,用符号位值1在高位填充补位,超过32位被截断,移动后的值为
    11111111 11111111 11111111 11111100
    现在得到的二进制是补码形式,需要根据补码计算得出原码(保留符号位,然后按位取反,然后加1,即为所求数的原码)值为
    10000000 0000000 000000011 00000100 = -4

|(位或运算)

在这里插入图片描述

参考文档

  • js移位运算符
http://www.lryc.cn/news/1325.html

相关文章:

  • java面试题(十九) Mybatis
  • Linux系统位运算函数以及相应CPU ISA实现收录
  • logback配置文件---logback.xml
  • Web前端-设计网站公共header
  • 引用和指针傻傻分不清
  • MySQL面试题:关系型数据库SQL和非关系型数据库NoSQL
  • 1.Redis【介绍与安装】
  • DataStore快速上手1-preference
  • 彻底掌握 MySQL InnoDB 的锁机制
  • C++继承
  • 动态代理是基于什么原理?
  • YOLO-V4经典物体检测算法介绍
  • angular相关知识点总结
  • 大坝安全监测系统:水库“守坝人”!
  • CentOS7安装配置OpenVNP连接远端服务器
  • 04- Matplotlib数据可视化详解 (数据库)
  • 高性能MySQL -- 查询性能优化
  • Android Binder机制之一(简介)
  • 《SOC芯片研究框架》深度科普,发展趋势、技术特点、产业链一文看懂
  • WebRTC中的ICE
  • 了解webpack
  • NoSQL数据库详细介绍
  • 【2023】华为OD机试真题Java-题目0210-优秀学员统计
  • 2023备战金三银四,Python自动化软件测试面试宝典合集
  • 2023年实体店做什么比较好赚钱?
  • SpringSecurity前后端分离(一篇就够了)
  • Allegro如何用Label Tune功能自动调整丝印到器件中心
  • Linux(十)线程安全 上
  • CRM系统能给企业带来什么? CRM系统推荐
  • ESP32设备驱动-LED控制器生成PWM信号