Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算。如 ~1 = -2; ~2 = -3;~-1=0

这个符号很少见,前端js写了那么久,竟然还是第一次遇到。既然遇到了,就不能直接略过。

~1=-2是如何实现的呢,下面我们来看看计算过程:

一、输入为正数(1和2)

(1)二进制原码:0000 0001,0000 0010

(2)按位取反:1111 1110,1111 1101

(3)转成原码二进制,由于第一位是1,因此为负数,负数转成原码,第1位符号位不变,其余取反+1:1000 0010,1000 0011

(4)原码二进制转成十进制则为 -2,-3

因此 ~1=-2,~2=-3。

二、输入为负数(-1,-2)

(1)二进制原码:1000 0001,1000 0010

(2)1开头为负数,保持第1位符号位不变,取反+1,得到补码:1111 1111,1111 1110

(3)取反得到结果0000 0000,0000 0001

(4)转成十进制则为0,1

经过以上的取反过程推算,对原码、反码、补码等概念又重温了一遍。

波浪线html,js中的波浪线符号作用(按位非(~)符号)相关推荐

  1. js中的波浪线符号作用(按位非(~)符号)

    js中的波浪线符号作用(按位非(~)符号) 一.输入为正数(1和2) 二.输入为负数(-1,-2) Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算.如 ~1 = -2 ...

  2. word文档怎么把波浪线去掉_Word实战技巧:干掉波浪线,Word中红色波浪线如何去掉?...

    原标题:Word实战技巧:干掉波浪线,Word中红色波浪线如何去掉? 相信很多小伙伴都为Word中莫名出现的红色波浪线,而困扰过.很多时候精心对Word内容进行排版后,往往都会因为Word文字下的红色 ...

  3. JS 中的return false的作用

    在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为. Return False 就相当于终止符,终止默认的事件行为,反之,Return True 就相当于执行符,执行终止默认的事件行 ...

  4. python 误差线_Python | 绘图中的误差线

    python 误差线 It is one of the most important aspects of plotting. Because of the huge application in e ...

  5. JS中 window.location.search的作用

    用该属性获取页面 URL 地址: window.location 对象所包含的属性 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostnam ...

  6. Java细节:单等于号、双等于号、三等于号(js中才有)的作用及双等于号和equals(源码)的区别

    我们在编程时总是会用到=或==,但是等于号都有什么作用呢?下面我们来看一下 (注:下文会提及一点常量池.堆栈,由于本人了解还不是透彻,暂不做解释,日后会做总结,可先点击字面查看理解) 一.单等于号的作 ...

  7. js 中的构造函数,构造函数作用,构造函数和普通函数的区别

    函数的定义方式: 1.声明式函数定义: function 函数名 (){}:这种定义方式,会将函数声明提升到该函数所在作用域的最开头,也是就无论你在这个函数的最小作用域的那儿使用这种方式声明的函数,在 ...

  8. JS中关于async和defer作用与区别

    <script src="script.js"></script> 没有 defer 或 async,浏览器会立即加载并执行指定的脚本,"立即&q ...

  9. JS中2个感叹号的作用

    一个叹号"!"表示"非",经常在JS时会遇到使用两个感叹号这种用法,例如var foo: console.log(!!foo),这种用法经常是作为将非布尔型变量 ...

  10. js中的匿名函数的作用以及用法讲解

    匿名函数顾名思义指的是没有名字的函数,在实际开发中使用的频率非常高!也是学好JS的重点. 释义:匿名函数,就是没有实际名字的函数. 小试牛刀,首先我们声明一个普通函数: //声明一个普通函数,函数的名 ...

最新文章

  1. TVM Reduction降低算力
  2. HDU2083排序题
  3. 更新TensorFlow 2.0的旧代码
  4. 【剑指offer】不使用新变量,交换两个变量的值,C++实现
  5. 学习node js 之微信公众帐号接口开发 准备工作之三
  6. python降维将多列数据压缩为一列_Python机器学习(Sebastian著 ) 学习笔记——第五章通过降维压缩数据(Windows Spyder Python 3.6)...
  7. 掌握Rabbitmq几个重要概念,从一条消息说起
  8. 采用oracle过程发邮件
  9. property属性[Python]
  10. 问世十年,腾讯宣布重磅产品死亡:一代人的青春记忆!
  11. 微课|中学生可以这样学Python(例8.21):选择法排序
  12. Tensorflow 2.0 打印 Tensor
  13. java arraylist删除元素_java集合类ArrayList操作之删除remove某些元素的案例分析
  14. Android下基于UVC的UsbCam的开发
  15. python 打印三维数据_Python中的面向对象编程(二):数据隐藏和对象打印
  16. atitit 指令集概论原理导论 艾提拉著 目录 2. 2.3 CISC和RISC 复杂指令集 1 1. 指令集(IA:InstructionSet)是指CPU指令系统所能识别(翻译)执行的全部指令
  17. 直播无线领夹式麦克风
  18. 赛尔号桌面版_赛尔号手游电脑版
  19. Django数据库的增删改查学习笔记
  20. python 头条视频_Python视频爬虫实现下载头条视频

热门文章

  1. 在matlab中输出怎么表示什么意思,matlab中基于帧输出是什么意思
  2. 约瑟夫 java_约瑟夫问题 java 实现详解
  3. php 跑马灯抽奖,九宫格抽奖跑马灯效果实现--微信小程序
  4. APEX 文件格式学习记录
  5. 一、RAID磁盘阵列介绍
  6. 晶闸管相控交流调压的详细计算
  7. Apple Pay编程指南
  8. php 的一元二次方程_php扩展 求解一元二次方程
  9. 第53篇-某天猫评论sign参数分析【2022-08-31】
  10. 区块链运营思路_区块链商业模式,及数字货币运营方案