位操作 设立 查看

位操作设置查看*******???/** * 设置操作 * @param permission 哪一位 * @param yes允许 或 不允许*/publi

位操作 设置 查看

*******

?

?

?

/** * 设置操作 * @param permission 哪一位 * @param yes  允许 或 不允许  */public void setPermission(int permission, boolean yes) {//进行位运算int temp=1;//移位 000001    0000010   00000100  00001000temp=temp << permission;if(yes){//目标是设置为可操作 将操作为设置为1 其他位不变// 0|X=X  1|X=1aclState |=temp;}else{//目标是设置为不可操作 将操作为设置为0 其他位不变//首先取反 111110    1111111101    11111111011    1111111110111// 0&X=0  1&X=XaclState &=~temp;}}/** * 查询某个位的开关 * @param permission 哪一位 * @return 1表示允许 0表示不允许 -1表示不确定 */public int getPermission(int permission) {//0000001int temp=1;//0000001   000000010   0000000100   00000001000temp=temp << permission;//0&X=0  1&X=X  只有当目标位不为0时即为1时 temp才能为非0temp=aclState & temp;if(temp!=0){//说明为该操作位 为 1 可执行return ACL_YES;}return ACL_NO;}
?

?

?

?

?

?

// 都是正数才管用的var n:int = 5; ?// 设置位 n |= flag;// 取消位~flag & n;// 获取位n & flag;

?

?

?

?

**********