JavaScript 位操作的一个示例

2024/8/4

假如有如下代码,那么a(10)的返回结果是()

function a(a){
  a^=(1<<4)-1;
  return a;
}
  • 位移操作
    表达式 (1 << 4) 代表将数字 1 左移 4 位。二进制左移操作会将数字的二进制表示向左移动指定的位数,在右侧补 0
1 (二进制表示为 0001)
左移 4 位后得到 10000

因此(1<<4)-1为15

(1<<4)-1
  • 按位异或操作
    按位异或操作 ^=。这个操作将 a 和 15 进行异或运算。异或运算的规则是:如果两个位相同,则结果为 0;如果不同,则结果为 1。
1010 (10)
1111 (15)
----
0101 (5)

故输出为5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值