javascript 操作符(~、&、|、^、<<、>>)使用案例
作者:hebedich 时间:2024-02-25 18:15:41
废话少说,直接上代码
<script type="text/javascript">
//javascript操作符
//1、按位非~
var num1=25;//
var num2=~num1;//
alert(num2)
var num3=10;
var num4=~num3;
alert(num4)
var num5=99;
var num6=~num5;
alert(num6)
//说明:相信大家也已经看出来了按位~(NOT)的实现原理:
//以num1、num2为讲解对象
//第一步:先把num1转换成二进制
//第二步:取得num1二进制的反码赋值给num2
//第三步:在把num2换算成十进制数字
//简单说明:就是把操作数的数值的负数减1
//2、按位与 &(AND)
var result=25 & 3;
alert(result);//1
//说明,就是把两数转换成二进制数字,按照一定的规则:
//第一个数值的位 第二个数值的位 结果
// 1 1 1
// 1 0 0
// 0 1 0
// 0 0 0
//简而言之,按位操作符的相对应的位都是1时则返回1,任何一位是0则返回0.
//然后在得到的二进制转换成十进制数字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// AND=0000 0000 0000 0000 0000 0000 0000 0001
//3、按位或 |(OR)
var result=25 | 3;
alert(result);//27
//说明,就是把两数转换成二进制数字,按照一定的规则:
//第一个数值的位 第二个数值的位 结果
// 1 1 1
// 1 0 1
// 0 1 1
// 0 0 0
//简而言之,按位操作符的相对应的位有一位是1就返回1,而只有在两个位都是0的情况下才返回0.
//然后在得到的二进制转换成十进制数字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// OR=0000 0000 0000 0000 0000 0000 0001 1011
//4、按位异或 ^(XOR)
var result= 25 ^ 3;
alert(result);//26
//说明,就是把两数转换成二进制数字,按照一定的规则:
//第一个数值的位 第二个数值的位 结果
// 1 1 0
// 1 0 1
// 0 1 1
// 0 0 0
//简而言之,这个操作符(^)在两个数值对应位上只有一个1时才返回1,否则返回0.
//然后在得到的二进制转换成十进制数字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// XOR=0000 0000 0000 0000 0000 0000 0001 1010
//5、左移(<<)
var oldNum=2;
var newNum=oldNum << 5;
alert(newNum)
//说明,将2(二进制数码10)向左移5位结果就是1000000(二进制)等于64
//注意,左移不会影响操作符的符号位,例如将-2左移5位就是-64
//2=0000 0000 0000 0000 0000 0000 0000 0010
//64=0000 0000 0000 0000 0000 0000 010 00000
//6、有符号右移(>>)
var oldNum=64;
var newNum=oldNum >> 5;
//64=0000 0000 0000 0000 0000 0000 010 00000
//2=0000 0000 0000 0000 0000 0000 0000 0010
alert(newNum)
</script>
注释里解释的很清楚了,小伙伴们是否了解了javascript中的操作符的用法了呢,有疑问就给我留言吧
标签:javascript,操作符
0
投稿
猜你喜欢
Python OpenCV之常用滤波器使用详解
2023-02-07 22:18:25
Magic Photo Frame 神奇创意相框
2009-09-15 20:45:00
给SQL Server传送数组参数的变通办法
2008-11-25 11:39:00
Python读取yaml文件的详细教程
2021-03-16 20:43:27
基于Python实现图像的傅里叶变换
2023-12-14 09:10:34
老生常谈python之鸭子类和多态
2023-09-26 09:00:26
Python实现FLV视频拼接功能
2021-09-19 02:41:48
Python中的集合介绍
2022-09-10 03:49:52
Python实现从多表格中随机抽取数据
2022-07-01 01:58:18
YOLOv5目标检测之anchor设定
2022-04-23 16:22:10
Go语言基础switch条件语句基本用法及示例详解
2024-04-26 17:33:30
Js nodeType 属性全面解析
2024-04-16 09:53:30
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2023-09-23 14:33:28
SQL Server 分页查询存储过程代码
2024-01-21 04:53:40
Kettle下载与安装保姆级教程(最新)
2023-07-29 17:10:41
asp金额大小写转换完全无错版
2007-09-26 09:38:00
mpvue中配置vuex并持久化到本地Storage图文教程解析
2024-04-28 09:25:55
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2024-04-19 11:03:22
Python脚本开发漏洞的批量搜索与利用(GlassFish 任意文件读取)
2023-01-30 20:08:36
离线安装Pyecharts的步骤以及依赖包流程
2021-12-16 11:43:12