= 0 && $index <= 31, "index is Out Of Range(0..31)."); //索引出错 $val = 1 << $index; return ($value & $val) == $val; } /** * 设定Int数据中某一位的值 * @param int $value 需要修改的int值 * @param int $index 32位数据的从右向左的偏移位移索引(0~31) * @param bool $newBitValue true设该位为1, false设为0. * @return int 返回修改后的值 */ public static function SetBitValue(int &$value, int $index, bool $newBitValue): int { my_Assert($index >= 0 && $index <= 31, "index is Out Of Range(0..31)."); //索引出错 $val = 1 << $index; $value = $newBitValue ? ($value | $val) : ($value & ~$val); return $value; } }