JS变量的存储原理及位运算的运用

var num=1
1.这段js会被编译为标识符num的指针*指向1的内存地址
2.数字类型为值类型,这个值被声明后CPU会在内存中开辟一块空间存储这个值。
 

位运算 XOR

位运算 XOR 由符号(^)表示,当然,也是直接对二进制形式进行运算。XOR 不同于 OR,当只有一个数位存放的是 1 时,它才返回 1。真值表如下:

第一个数字中的数位第二个数字中的数位结果
110
101
011
000

对 25 和 3 进行 XOR 运算,代码如下:

var iResult = 25 ^ 3;alert(iResult);//输出 "26"

25 和 3 进行 XOR 运算的结果是 26:

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

可以看出,在两个数字中,共有 4 个数位存放的是 1,这些数位被传递给结果。二进制代码 11010 等于 26。

位运算的运算原理
将两个数字分别转换为二进制进行位运输,运算完毕的结果再转换为二进制所对应的数字

位运算的应用场景:
1.通过位运算可以交换两个变量的变量值,仅支持数字
2.通过位运算完成两个变量值的值交换,仅支持数字

一、利用^来完成比较两个数是否相等

1 ^ 1 = 0

1 ^ 非1数 !=0

所以同一个数……同一个数等于0,否则不等于0

二、使用^来完成值交换

a = 1

b = 2

a ^= b

b ^= a

a ^= b

结果a=2,b=1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值