javascript 操作符(~、&、|、^、<<、>>)使用案例
作者:hebedich 发布时间:2024-02-25 18:15:41
标签:javascript,操作符
废话少说,直接上代码
<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中的操作符的用法了呢,有疑问就给我留言吧


猜你喜欢
- 先了解什么是deferGo语言中的defer与return执行的先后顺序Go语言的 defer 语句会将其后面跟随的语句进行延迟处理,在 d
- 1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载)<1>.Microsoft SQL server 2
- 1、pip下载安装1.1 pip下载进入https://pypi.python.org/pypi/pip,下载 .tar.gz压缩包1.2&
- 从物理意义上来讲,InnoDB表由共享表空间文件(ibdata1)、独占表空间文件(ibd)、表结构文件(.frm)、以及日志文件(redo
- 马上就是圣诞节了,先提前祝大家圣诞快乐!:christmas_tree::christmas_tree::christmas_t
- 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为
- js判断undefined类型if (reValue== undefined){alert("undefined");}
- 1、实现目标编写一个命令行通讯录程序,可以添加、查询、删除通讯录好友及电话2、实现方法创建一个类来表示一个人的信息。使用字典存储每个人的对象
- 在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP
- 系列教程MySQL系列之开篇 MySQL关系型数据库基础概念 MySQL系列之一 MariaDB-server安装 MySQL系列之二 多实
- 今天我们说一下Redis中最后一个数据类型 “有序集合类型”,回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这些代码
- 本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下类class Student: stuID = "
- 一直以来,jQuery是我最喜欢的框架之一。1月14号 1.4 Released版本发布后,就迫不及待去了解了一下1.4版本对比以往1.3.
- 具体代码如下所示:#coding=utf-8__author__ = 'Eagle'import osimport time
- 一、zmial发送邮件zmial是第三方库,需进行安装pip install zmail完成后,来给发一封邮件subject:标题conte
- 前言综合应用已经学习过的知识点:变量流程控制函数模块系统需求1.程序启动,显示名片管理系统欢迎界面,并显示功能菜单*************
- 本文实例讲述了js类的继承定义与用法。分享给大家供大家参考,具体如下:如何实现类的继承呢?有如下2个构造函数:function People
- MSSQL差异备份,就是和前一次备份作对比,把不一样的内容备份下来,这样,只要前一次备份后,插入新的内容,差异备份就可以把刚插入的内容备份出
- python简单游戏-反弹球,供大家参考,具体内容如下tkinter实现,直接贴上代码from tkinter import*import
- 1.window.event兼容脚本 2.屏蔽Form提交事件 3.获取事件源 4.添加事件兼容写法 5.Firefox注册innerTex