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】

相关文章

  • Document.location.href和.replace的区别示例介绍

    Document.location.href和.replace的区别示例介绍

    document.location.href和document.location.replace都可以实现从A页面切换到B页面,下面为大家介绍下它们的区别
    2014-03-03
  • js数组的操作指南

    js数组的操作指南

    这篇文章主要介绍了js数组的操作指南的相关资料,需要的朋友可以参考下
    2014-12-12
  • javascript真的不难-回顾一下基础知识

    javascript真的不难-回顾一下基础知识

    先来学习一下Javascript语言中的基础知识问题其时对于每种编程语言来说基础知识都是大同小异的,对变量,函数,条件语句块,循环语句块等等,本文简要介绍一下,感兴趣的朋友可以了解下
    2013-01-01
  • javascript的 {} 语句块详解

    javascript的 {} 语句块详解

    这篇文章主要介绍了javascript的 {} 语句块详解的相关资料,需要的朋友可以参考下
    2016-02-02
  • javascript学习笔记(二)数组和对象部分

    javascript学习笔记(二)数组和对象部分

    本文是学习笔记系列的第二篇,深入浅出的分别从javascript对象和数组两个部分介绍了相关知识,并附上详细示例,非常的实用,有需要的朋友可以参考下
    2014-09-09
  • 在JavaScript中操作时间之setYear()方法的使用

    在JavaScript中操作时间之setYear()方法的使用

    这篇文章主要介绍了在JavaScript中操作时间之setYear()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • js导航菜单(自写)简单大方

    js导航菜单(自写)简单大方

    一个简单的多级下拉菜单菜单但是由于业务和样式上的要求,为了简洁找了好多都不适合于是自己写了一个,晒出来与大家分享,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03
  • Firefox window.close()的使用注意事项

    Firefox window.close()的使用注意事项

    window.close()在IE下可以执行关闭,但在Firefox下不关闭,不是JS代码window.close()的问题,而是Firefox的配置问题
    2009-04-04
  • JavaScript代码优雅,简洁的编写技巧总结

    JavaScript代码优雅,简洁的编写技巧总结

    专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码。在此基础上,简洁代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考
    2022-10-10
  • JavaScript 学习笔记之数据类型

    JavaScript 学习笔记之数据类型

    javascript数据类型非常简单,仅仅包含undefined、null、string、Boolean、number以及object,今天我们就针对这几个数据类型,一一进行讲解,方便大家理解记忆
    2015-01-01

最新评论