Javascript--位运算符
来源:互联网 发布:数据库技术发展历史 编辑:程序博客网 时间:2024/05/17 06:41
1.NOT
位运算符NOT由~表示.NOT运算符的实质是对数字求负,然后减1.
位运算符NOT是三步的处理过程.
a.把运算符转换成32位数字
b.把二进制形式转换成它的二进制反码
c.把二进制反码转换成浮点数
例子:
var num=10; document.write(~num);
结果:-11
2.AND
位运算符AND由&表示.直接对数字的二进制形式进行运算.运算规则如下:第一个数字第二个数字结果000010100111
例子:
var num1=10;//1010 var num2=11;//1011 document.write(num1 & num2);
结果:
10的二进制表示1010
3.OR
位运算符OR由符号|表示.直接对二进制进行运算,规则如下:
第一个数字第二个数字结果000011101111
例子:
var num1=10;//1010 var num2=11;//1011 document.write(num1 | num2);
结果:
11的二进制表示是1011
4.XOR
位运算符XOR由符号^表示.直接对二进制进行运算.规则如下:
第一个数字第二个数字结果000011101110
例子:
var num1=10;//1010 var num2=11;//1011 document.write(num1 ^ num2);
结果:
1的二进制表示是1
5.<<
左移运算符由<<表示.它把数字中所有位数向左移动指定的数量.
注意:
a.在左移数位时,数字右边的空位由0来填充,使结果是完整的32位数字
b.左移操作保留数字的符号位.
例子:
document.write(10<<2+"<br/>"); document.write(-10<<2);
效果:
6.>>
有符号右移运算由>>表示.它将32位数字中的所有数字整体右移.同时保留该数的符号.
注意:
a.符号位保持不变
b.在右移数位时,数字左边的空位由0填充
例子:
document.write(10>>1); document.write("<br/>"); document.write(-10>>1);
效果:
7.>>>
无符号右移由>>>表示.它将32位数字中的所有数字整体右移.
注意:
a.无符号右移运算用0填充所有空位.
b.对于整数,无符号右移和有符号右移结果一样.
c.对于负数,由于左侧补0,导致负数经过无符号右移后,变为一个正数
例如:
document.write(-10>>>1);
结果:
运算过程:
-10
11111111111111111111111111110110经过无符号右移-10>>>1
01111111111111111111111111111011
结果:
2147483643
文章出处:http://www.cnblogs.com/oneword/archive/2009/12/23/1631039.html
0 0
- javascript位运算符
- Javascript--位运算符
- Javascript--位运算符
- Javascript中的位运算符
- javascript 位运算
- JavaScript位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符与位运算
- sqlite位运算,sql位运算符
- 位运算符和位运算
- 位运算符和位运算
- 位运算、移位运算符
- android 多分布率解决
- 解析STM32的启动过程
- ITK、VTK、Qt安装与联合编译
- Android给ListView设置itemView高度
- 谁来切分1.8万亿元的社区服务蛋糕?
- Javascript--位运算符
- 迷信“需求至上”,是一个创业陷阱
- 字符串与Unicode编码互相转换
- 使用jquery获取radio的值
- Oracle Flashback 详解
- iOS 8 Change List版本说明 What's New
- UVA11987 - Almost Union-Find (并查集带删除)
- 强大的视音频插件-AllVideos
- 使用 IBM Data Studio 开发调试 DB2 存储过程