`
zhangyaochun
  • 浏览: 2613139 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

位操作符

阅读更多

此篇来源于《JavaScript高级程序设计》第3版,个人读书笔记吧。

 

位操作符

 

    ------ 用于在最基本的层次上,即按内存中表示数值的位来操作数值

 

 

  • ECMAScript中的所有数值都以IEEE-754 64位格式存储,但位操作符并不直接操作64位,而是先将64位的值转换成32位的整数,然后执行操作,最后再将结果转换回64位。
  • 对于有符号的整数,32位中的前31位用于表示整数的值,第32位表示数值的符号:0 ---整数 | 1 ---负数,这个表示符号的位是符号位

//数值18 = 16 + 2 = 2的4次方+2的1次方
10010
 

 

位操作

 

 

  • 按位非
  由一个波浪线(~)表示,执行按位非的结果就是返回数值的反码

举例:

var num = 25; //16+8+1
console.log(~num);

//11001 等价25
00000000000000000000000000011001
11111111111111111111111111100110

==》-26
 
    本质:操作数的负值减1

  • 按位与(AND)
由一个和号字符(&)表示,有两个操作数。

按位与操作只在两个数值的对应位都是1时才返回1,任何一位为0,结果都是0

举例:

var result = 25 & 3;
console.log(result);

25 = 16+8+1 = 1 1001
3 = 2+1 =          0 0011
                          0 0001
         
//结果为1
 
  • 按位或(OR)
由一个竖线符号(|)表示,同样也有两个操作数。

按位或操作在有一个位是1的情况下就返回1,而只有两个位都是0的时候返回0

举例:

var result = 25 | 3;
console.log(result);

25 = 16+8+1 = 1 1001
3 = 2+1 =          0 0011
                          1 1011
         
//结果为16+8+2+1 = 27
 

分享到:
评论

相关推荐

    java 按位操作符的使用

    在Java中,按位操作符用于对整数进行位级别的操作 按位与(&)操作符 按位或(|)操作符 按位异或(^)操作符 按位取反(~)操作符 左移()操作符 右移(>>)操作符

    C语言编程开发中用好位操作符[参照].pdf

    在C语言编程中,位操作符是至关重要的工具,它们允许程序员直接操作变量的二进制位,这对于底层系统编程和高效算法实现尤其有用。本文将深入探讨C语言中的六种位操作符:按位与(&), 按位或(|), 按位异或(^), 取反(~)...

    C语言编程开发中用好位操作符

    C语言编程开发中用好位操作符C语言编程开发中用好位操作符C语言编程开发中用好位操作符C语言编程开发中用好位操作符C语言编程开发中用好位操作符C语言编程开发中用好位操作符C语言编程开发中用好位操作符C语言编程...

    031.Python运算符总结_位操作符_优先级问题.mp4

    031.Python运算符总结_位操作符_优先级问题.mp4

    操作符学习案例

    5. **位操作符**:对二进制位进行操作,如`&`(按位与)、`|`(按位或)、`^`(按位异或)和`~`(按位非)。例如: ```java int bitwiseResult = a & b; // 对a和b的二进制表示执行按位与 ``` 6. **增量和减量操作符...

    VHDL操作符详细列表

    VHDL 操作符可以分为五大类:算术操作符、关系操作符、逻辑操作符、符号操作符和位操作符。 算术操作符 VHDL 语言提供了多种算术操作符,用于实现数字信号的运算。这些操作符包括: * `+` 加法操作符,用于将两个...

    MATLAB 中的常用操作符

    位操作符允许对二进制位进行操作,主要用于低级编程或数据操作。 - `bitand`:位与运算。 - `bitcmp`:位取反。 - `bitor`:位或运算。 - `bitxor`:位异或运算。 - `bitset`:设置特定位置的位。 - `bitget`:获取...

    C++操作符详解

    位操作符作用于二进制位级别,包括按位与(&)、按位或(|)、按位异或(^)、按位左移()、按位右移(>>)和无符号右移(>>>)(仅在某些环境中支持)。这些操作符在处理底层数据或优化代码时非常有用。 六、增量和减量操作符 ...

    第5节-操作符详解.pdf

    位操作符用于直接操作数值的二进制位,包括: - **按位与 (`&`)**: 对应位置上的位都为1时结果才为1。 - **按位或 (`|`)**: 对应位置上至少有一个1时结果为1。 - **按位异或 (`^`)**: 对应位置上位不同为1,相同为0...

    C语言基础-操作符详解

    位操作符用于执行按位运算,包括按位与、按位或、按位异或等。 * &(按位与):将两个操作数的二进制位相与,如果两个操作数的对应二进制位都为1,则结果为1,否则为0 * |(按位或):将两个操作数的二进制位相或,...

    详解Java的按位操作符

    详解Java的按位操作符 Java的按位操作符是指在Java语言中对整数基本数据类型中的单个“比特”(bit)进行操作的符号。这些操作符可以分为两大类:按位逻辑操作符和移位操作符。 按位逻辑操作符 按位逻辑操作符是指...

    按位操作符

    按位操作符是编程语言中一组特殊的运算符,它们对整型变量的二进制表示进行操作,而不是对数值本身进行运算。这些操作符在处理二进制数据、位掩码或者进行高效的位级逻辑运算时非常有用。下面将详细阐述几种常见的按...

    详解Java的位操作符

    Java的位操作符是编程语言中用于直接操纵数据的最小单位——比特(bit)的工具。这些操作符在处理内存效率、数据存储和计算时特别有用。本文将深入讲解Java中的位操作符,包括与(&)、或(|)、异或(^)、非(~)以及移位...

    C语言位运算总结位操作基础基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下.docx

    6. **高低位互换**:对于32位无符号整数,可以通过位操作交换高位和低位,例如`x = (x >> 16) | (x )`。 这些位运算技巧不仅提高了代码的效率,也使得代码更紧凑。在处理位模式、位字段或进行高效数据处理时,位...

    Java操作符总结-动力节点共20页.pdf.zip

    位操作符用于操作二进制位,如按位与(&)、按位或(|)、按位异或(^)、左移()、右移(>>)和无符号右移(>>>). 这些操作符在处理二进制数据,如数组索引、颜色编码或者位标志时非常有用。 六、条件操作符(三元运算符) ...

    位操作的艺术:C语言中的位操作符全解析

    2. **接近硬件**:C语言提供了对内存地址和位操作的直接控制,使其非常适合硬件级编程。 3. **可移植性**:C语言编写的程序可以在不同的操作系统和硬件平台上编译和运行,具有很好的可移植性。 4. **丰富的库支持**...

    Java基础知识之数据类型和操作符

    Java是一种强类型语言,这意味着在Java中,每个变量都必须先声明其数据类型,然后才能使用。Java的数据类型可以分为两类:基本... :)和位操作符(&、|、^、~、、>>)。使用这些操作符时,需要注意它们的优先级和结合性

    操作符运算符.pdf

    `),位操作符(`&`, `|`, `^`, `~`, `, `>>`),以及其他控制流程操作符(如`if`, `for`, `while`等)。这些操作符共同构成了C++丰富的语法,使得程序员能够编写出高效且复杂的代码。 理解并熟练运用这些操作符...

Global site tag (gtag.js) - Google Analytics