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
*/