直接上代码吧!

  1. <script type="text/javascript">
  2. //javascript操作符
  3. //1、按位非~
  4. var num1=25;//
  5. var num2=~num1;//
  6. alert(num2)
  7.  
  8. var num3=10;
  9. var num4=~num3;
  10. alert(num4)
  11.  
  12. var num5=99;
  13. var num6=~num5;
  14. alert(num6)
  15.  
  16. //说明:相信大家也已经看出来了按位~(NOT)的实现原理:
  17. //以num1、num2为讲解对象
  18. //第一步:先把num1转换成二进制
  19. //第二步:取得num1二进制的反码赋值给num2
  20. //第三步:在把num2换算成十进制数字
  21. //简单说明:就是把操作数的数值的负数减1
  22.  
  23. //2、按位与 &(AND)
  24. var result=25 & 3;
  25. alert(result);//
  26. //说明,就是把两数转换成二进制数字,按照一定的规则:
  27. //第一个数值的位 第二个数值的位 结果
  28. // 1 1 1
  29. // 1 0 0
  30. // 0 1 0
  31. // 0 0 0
  32.  
  33. //简而言之,按位操作符的相对应的位都是1时则返回1,任何一位是0则返回0.
  34. //然后在得到的二进制转换成十进制数字
  35. // 25=0000 0000 0000 0000 0000 0000 0001 1001
  36. // 3= 0000 0000 0000 0000 0000 0000 0000 0011
  37. // ------------------------------------------
  38. // AND=0000 0000 0000 0000 0000 0000 0000 0001
  39.  
  40. //3、按位或 |(OR)
  41. var result=25 | 3;
  42. alert(result);//
  43. //说明,就是把两数转换成二进制数字,按照一定的规则:
  44. //第一个数值的位 第二个数值的位 结果
  45. // 1 1 1
  46. // 1 0 1
  47. // 0 1 1
  48. // 0 0 0
  49.  
  50. //简而言之,按位操作符的相对应的位有一位是1就返回1,而只有在两个位都是0的情况下才返回0.
  51. //然后在得到的二进制转换成十进制数字
  52.  
  53. // 25=0000 0000 0000 0000 0000 0000 0001 1001
  54. // 3= 0000 0000 0000 0000 0000 0000 0000 0011
  55. // ------------------------------------------
  56. // OR=0000 0000 0000 0000 0000 0000 0001 1011
  57.  
  58. //4、按位异或 ^(XOR)
  59. var result= 25 ^ 3;
  60. alert(result);//
  61. //说明,就是把两数转换成二进制数字,按照一定的规则:
  62. //第一个数值的位 第二个数值的位 结果
  63. // 1 1 0
  64. // 1 0 1
  65. // 0 1 1
  66. // 0 0 0
  67. //简而言之,这个操作符(^)在两个数值对应位上只有一个1时才返回1,否则返回0.
  68. //然后在得到的二进制转换成十进制数字
  69.  
  70. // 25=0000 0000 0000 0000 0000 0000 0001 1001
  71. // 3= 0000 0000 0000 0000 0000 0000 0000 0011
  72. // ------------------------------------------
  73. // XOR=0000 0000 0000 0000 0000 0000 0001 1010
  74.  
  75. //5、左移(<<)
  76. var oldNum=2;
  77. var newNum=oldNum << 5;
  78. alert(newNum)
  79. //说明,将2(二进制数码10)向左移5位结果就是1000000(二进制)等于64
  80. //注意,左移不会影响操作符的符号位,例如将-2左移5位就是-64
  81. //2=0000 0000 0000 0000 0000 0000 0000 0010
  82. //64=0000 0000 0000 0000 0000 0000 010 00000
  83.  
  84. //6、有符号右移(>>)
  85. var oldNum=64;
  86. var newNum=oldNum >> 5;
  87. //64=0000 0000 0000 0000 0000 0000 010 00000
  88. //2=0000 0000 0000 0000 0000 0000 0000 0010
  89. alert(newNum)
  90. </script>

javascript——操作符(~、&、|、^、<<、>>)的更多相关文章

  1. javascript 操作符类型隐性转换

    javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...

  2. JavaScript操作符(一元操作符)

    JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...

  3. JavaScript操作符汇总

    操作符 JavaScript 有赋值.比较.算术.位.逻辑.字符串和特殊运算符.本章描述了操作符,以及关于操作符优先级的一些信息. 表 2.1 JavaScript 所有操作符简明列表. 表 2.1 ...

  4. JavaScript操作符-3---算数,逻辑,赋值,比较,三元

    JavaScript操作符 学习目标 1.掌握什么是表达式 2.掌握javascript操作符的分类 3.掌握算数操作符 什么是表达式 将类型的数据(如常量.变量.函数等),用运算符号按一定的规则链接 ...

  5. JavaScript操作符(=?,)优先级

    JavaScript操作符优先级: 关于最后3个运算符的优先级比较,下面通过一个实例来具体说明: var a,b,c; a = 3,4,5; b = a--,--a,a; c = a ? b++ : ...

  6. JavaScript 操作符 变量

    一.操作符: 一元操作符 递增操作符 递减操作符 分为 前置型(--a    ++a) 和 后置型 (a--    a++) 区别如下: var a = 3,b=6; c = --a +b; //c= ...

  7. JavaScript操作符(布尔操作符、乘性操作符和加性操作符)

    布尔操作符 布尔操作符用来测试两个值的关系,布尔操作符有三个,逻辑非(!).逻辑与(&&),逻辑或(||). 逻辑非由一个叹号(!)组成,可以应用于JavaScript任何值.逻辑非首 ...

  8. Javascript - 操作符

    操作符(Operator) void 如果void后是数字,就返回NAN,否则返回Undefined. alert(void "hello");//跟的字符 print undef ...

  9. javascript 操作符小结

    简单总结一下JavaScript的几个操作符: var. in. delete. typeof. new. instanceof.void var 定义变量要使用var操作符, 使用var操作符定义的 ...

随机推荐

  1. NOI题库7624 山区建小学(162:Post Office / IOI2000 POST OFFICE [input] )

    7624:山区建小学 Description 政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往.已知任意两个相邻的村庄之间的距离为di(为 ...

  2. 2013=7=29 nyist 13题

    Fibonacci数 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地 ...

  3. 不使用OCI8接口如何连接PHP和Oracle

    随着网站规模的扩大,MySql显然不能满足需求,在许多网站都  采用大型数据库Oracle的情况下,如何使用PHP来访问Oracle变的越发重要了.  我从我编写的一个简单iERP系统谈我自己是如何做 ...

  4. Error: rpmdb open failed

    yumrpmdb: Thread/process 17132/140266190264064 failed: Thread died in Berkeley DB l                  ...

  5. OPC客户端的进程安全初始化

    现场OPC客户端无法获取远程OPC Server列表,也无法连接OPC Server,经查调用CoCreateInstanceEx()创建IID_IOPCServerList接口正常,但调用IOPCS ...

  6. C语言中数据类型转换的学习

    1. 整型和枚举类型数据的转换 测试代码如下: #include <stdio.h> typedef enum _E_TYPE_T {     E_TYPE_1 = -1,     E_T ...

  7. bootbox.js [v4.2.0]设置确认框 按钮语言为中文

    Bootbox.js (http://bootboxjs.com/)是一个小型的 JavaScript 库用来创建简单的可编程对话框,基于 Twitter 的 Bootstrap 开发. 弹出确认框方 ...

  8. JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误

    今天尝试使用JUnit,下载了最新的JUnit版本,是4.11,结果尝试使用发现总是报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribi ...

  9. iOS开发-No matching provisioning profiles found解决方法

    今天真机调试的时候莫名其妙遇到了这种一个问题: This product type must be built using a provisioning profile, however no pro ...

  10. Raspberry Pi + 3个USB摄像头 + Motion(简易监控设备配置记录1——介绍以及安装) 分类: Raspberry Pi 服务器搭建 2015-04-12 19:21 226人阅读 评论(0) 收藏

    参考: Debian官网链接 Motion官网链接 首先,参见Debian官网链接对Motion的介绍,网页中包含了所有相关依赖包,请首先确保这些依赖包的安装. Motion介绍 摘出对Motion的 ...