JavaScript运算符

JavaScript运算符

JavaScript位运算符

位运算符处理32位有符号数,该运算中的任何数值运算都会被转换为32位数。

运算符名称例子等同于结果十进制描述
&5 & 10101 & 000100011如果两位都是1,则为1
|5 | 10101 | 000101015如果两位之一为1,则为1
~~5~01011010-6反转所有位(1变成0,0变成1)
^异或5 ^ 10101 ^ 000101004如果两位只有一位为1,则为1
<<零填充左位移5<<10101<<1101010所有位都向左移,最右位0填充
>>有符号右位移5>>10101>>100102所有位都向右移,但符号位保留
>>>零填充右位移5>>>10101>>>100102所有位都向右移,最左位0填充

注:由于上述例子中使用的是4位无符号数,但JavaScript使用的是32位有符号数。因次在JavaScript中,~5不会返回10,而是返回-6

~00000000000000000000000000000101 将返回 11111111111111111111111111111010

补充—位运算补码

负数是正数的二进制补码加1:

二进制表示十进制值
000000000000000000000000000001015
11111111111111111111111111111011-5
0000000000000000000000000010100040
11111111111111111111111111011000-40
11111111111111111111111111011001-41

十进制与二进制之间的转换

//把十进制转换为二进制
function dec2bin(dec){
    return (dec >>> 0).toString(2);
}

//把二进制转换为十进制
function bin2dec(bin){
    return parseInt(bin,2).toString(10);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值