最近在看bluebird中的源码,里面涉及到js中的位运算,对于位运算虽然不是很清楚,但查看文档,基本上明白了,但自始至终对于里面涉及的几个数字实在不明白,望各位指点迷津:
下面是涉及的代码段:
if ((this._bitField & 117506048) !== 0) return;
if ((bitField & 50397184) === 0)
if ((bitField & 33554432) !== 0)
if ((bitField & 16777216) !== 0)
if ((bitField & 65536) !== 0)
if ((bitField & 33554432) !== 0)
if((bitField & 134217728) !== 0);
这些数字是不是有特殊的含义还是框架自定义的东西?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
16777216转成二进制是1000000000000000000000000
65536转成二进制是10000000000000000
134217728转成二进制是1000000000000000000000000000
bitField 跟这些数字做与运算就是看bitField二进制的某一位上是否是1