Javascript 按位取反运算符 (~)

 更新时间:2014年02月04日 16:46:26   作者:  
Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算。如 ~1 = -2 ; ~2 = -3 ; ~99 = -100

复制代码 代码如下:

result = ~ 【数字】

所有一元运算符(如 ~ 运算符)都按照下面的规则来计算表达式的值:

复制代码 代码如下:

1、 如果应用于未定义的表达式或 null 表达式,则会引发一个运行时错误。
2、 将对象转换为字符串。
3、 如果可能,将字符串转换为数字。 否则,将引发运行时错误。
4、 布尔值被视为数字(如果为 false,则为 0;如果为 true,则为 1)。

运算符将应用于结果数字。

~ 运算符查看表达式的二进制表示形式的值,并执行位非运算。

表达式中的任何一位为 1,则结果中的该位变为 0。 表达式中的任何一位为 0,则结果中的该位变为 1。

下面的示例阐释了位非 (~) 运算符的用法,其中包含二进制表示十进制负数的,如果不熟悉这个请先看懂《十进制负数转换为二进制、八进制、十六进制》。

复制代码 代码如下:

var temp = ~5;
/*
5 二进制 101,补满 32位
00000000000000000000000000000101
按位取反
11111111111111111111111111111010
由于32位开头第一个是1,所以这是一个负数,将二进制转换成负数,需要先反码
00000000000000000000000000000101
之后,再+1
00000000000000000000000000000110
转换成十进制为6,加上符号变成负数 -6
*/
alert(temp);
// 弹出【-6】

相关文章

  • selenium 与 chrome 进行qq登录并发邮件操作实例详解

    selenium 与 chrome 进行qq登录并发邮件操作实例详解

    这篇文章主要介绍了selenium 与 chrome 进行qq登录并发邮件操作实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • JavaScript 基本数据类型转换你了解嘛

    JavaScript 基本数据类型转换你了解嘛

    这篇文章主要为大家介绍了JavaScript基本数据类型转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Ajax的概述与实现过程

    Ajax的概述与实现过程

    Ajax是Asynchronous JavaScript XML的简写,不是一门新技术,而是对现有技术的综合利用。本文详细介绍了Ajax的概述与具体实现方法。有需要的朋友可以看下,希望对你有所帮助
    2016-11-11
  • Javascript核心读书有感之语言核心

    Javascript核心读书有感之语言核心

    本节是javascript语言的一个快速预览,也是本书的第一部分快速预览。有想阅读此书的小伙伴,建议先读下本系列文章。
    2015-02-02
  • 详解JavaScript的Polymer框架中的通知交互

    详解JavaScript的Polymer框架中的通知交互

    这篇文章主要介绍了详解JavaScript的Polymer框架中的通知交互,Polymer是由Google开发的针对Web UI的前端框架,需要的朋友可以参考下
    2015-07-07
  • JavaScript那些不经意间发生的数据类型自动转换

    JavaScript那些不经意间发生的数据类型自动转换

    JavaScript可以自由的进行数据类型转换,但是更多的情况下,是由JavaScript自动转换的。本文就将为大家详细讲解那些不经意间发生的数据类型转换,感兴趣的同学可以了解一下
    2022-02-02
  • BOM与DOM的区别分析

    BOM与DOM的区别分析

    DHTML技术各项功能的实现都依赖于使用客户端脚本与浏览器宿主及在宿主中输出的Web页面之间的交互,这种交互是通过对象这个技术手段实现的。
    2010-10-10
  • ES6基础语法之对象介绍

    ES6基础语法之对象介绍

    这篇文章介绍了ES6中对象的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Javascript基础教程之数据类型转换

    Javascript基础教程之数据类型转换

    JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式。基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型。
    2015-01-01
  • Three.js源码阅读笔记(物体是如何组织的)

    Three.js源码阅读笔记(物体是如何组织的)

    这一篇将主要讨论Three.js中的物体是如何组织的:即如何将顶点、表面、材质组合成为一个具体的对象,需要了解的朋友可以参考下
    2012-12-12

最新评论