【每日一包0004】array-slice

github地址:https://github.com/ABCDdouyae...

array-slice

截取数组,同数组的slice方法一致
用法:array-slice(array, start, end)
返回:array
源码有关位运算学习【一直不太注重位运算,重新学习下】
  • 位运算NOT(~):对数字求负数并且减1
  • 位运算AND(&):将两个数字的32位二进制对齐,每一位都求两者的AND运算
  • 位运算XOR(|):将两个数字的32位二进制对齐,每一位都求两者的OR运算
  • 位运算左移运算(<<):将数字的32位二进制左移固定位数其他位置0替补
  • 位运算有符号右移运算(>>):将数字的32位二进制右移固定位数其他位置0替补
  • 位运无有符号右移运算(>>>):同有符号右移正数
let b = 10;//1010
let c = 5;//101
console.log(b&c);//0
console.log(b|c);//15
console.log(c<<3);//40
console.log(-c<<3);//-40
console.log(c>>3);//0
console.log(c>>1);//2
console.log(-c>>1);//-3
console.log(c>>>1);//2

/**
 *  b     0000 0000 0000 0000 0000 0000 0000 1010     10
 *  c     0000 0000 0000 0000 0000 0000 0000 0101      5
 *        =======================================
 * b&c    0000 0000 0000 0000 0000 0000 0000 0000      0
 * b|c    0000 0000 0000 0000 0000 0000 0000 1111     15
 * 
 * 
 *        0000 0000 0000 0000 0000 0000 0000 0101      5
 * c<<5   0000 0000 0000 0000 0000 0000 0010 1000     40
 * c>>3   0000 0000 0000 0000 0000 0000 0000 0000      0
 * c>>1   0000 0000 0000 0000 0000 0000 0000 0010      2
 * -c     1111 1111 1111 1111 1111 1111 1111 1011
 * -c>>1  1111 1111 1111 1111 1111 1111 1111 1101
 *       -0000 0000 0000 0000 0000 0000 0000 0011
 */   

猜你喜欢

转载自www.cnblogs.com/qianduanwriter/p/11814282.html