8-26 js基础 及小练习

本文介绍了JavaScript中的位运算,包括按位与(&), 按位或(|), 按位异或(^),以及二进制的原码、反码、补码概念。还探讨了位移操作,如右移(<<)和左移(>>), 并讨论了负数在位移过程中的处理。最后,文章讲解了短路与操作(&&)和短路或操作(||)的工作原理,并通过示例进行了解释。" 114715573,10296860,Java使用Freemarker生成Word文档教程,"['Java开发', '文档生成', 'Freemarker模板', '文件操作']
摘要由CSDN通过智能技术生成

位运算

1.按位与 & | ^

我们所进行的数值计算,再计算中都是二进制去计算

计算 10&20

console.log(12&21)

console.log(12|21)

console.log(12^21)

二进制:原码、反码、补码

12:正数的原码/反码/补码都是一样的

原码: 0000 1100

12: 0 1100

21: 1 0101,

& 0 0100 ==>4 按位与:对应两个位为1时,结果为1

| 1 1101 ==>29 按位或:对应两个位一个为1 结果便为1

^ 1 1001 ==>25 按位异或:对应两个位 相同为0 不同为1

20: 0000 1010

按位右移是在二进制末尾删除n位,在开头补0

console.log(20<<1) // 40

20: 0010 1000 ==>40

按位左移是在二进制开头删除n为,在末尾补0

console.log(-10>>2) // -3 ex:-10右移两位,-10/2^2=-2.5 取小 为-3

原码: 1 0000 1010,

反码: 1 1111 0101,

补码: 1 1111 0110,

移位: 1 1111 1101,

取反(反码): 1 0000 0010

原码(补码): 1 0000 0011 ,// -3

负数在按位右移的过程中,高位补1

按位左移

console.log(-10<<2) // -40 ex:-10左移两位 -10*2^2=-40

原码:1 0000 1010

反码:1 1111 0101

补码:1 1111 0110

左移:1 1101 1000

取反:1 0010 0111

原码(补码):1 0010 1000 // -40

短路与 (一假即假)

  1. 针对 && 顺口溜: 找第一个出现的假值. (一假即假)
  2. 针对 || 顺口溜: 找第一个出现的真值. (一真即真)

** 口诀 : 找第一个为假的值.

// 请问1 : 8 < 7 && 3 < 4, 结果为 ?
alert(8 < 7 && 3 < 4); // false

// 请问2 : -2 && 6 + 6 && null 结果为 ?
alert(-2 && 6 + 6 && null); // null

// 请问3 : 1 + 1 && 0 && 5 结果为 ?
alert(1 + 1 && 0 && 5); // 0

    // console.log(true && false);
    // console.log(false && true);

    //1.按位与 
    //计算机中都是二进制计算
    //10&20
    console.log(12 & 21);//==>4
    console.log(12 | 21);//==>29
    //计算方式 原码 反码 补码      
    // 整数的原码/补码/反码都是一样的
    //12: 原码:0000 1100
    //21&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值