[已解决]如何解开由1,2,4,8,16......组合起来的数
本帖最后由 zch11230 于 2012-9-11 19:56 编辑就比如像fileopen这条命令 提供了如下部分模式可选,当模式为9时 命令就知道是1+8
0 = 只读模式(默认)
1 = 写入模式(附加数据到文件尾部)
2 = 写入模式(先删除之前的内容)
8 = 如果目标目录不存在就创建(参考注意).
我想知道,我自己写一个多重条件判断,比如Local $i=0
If FileExists("c:\windows") Then $i+=1
If FileExists("c:\abc") Then $i+=2
If FileExists("c:\1.txt") Then $i+=4
MsgBox(0,"test",$i)现在我得到$i的值了,比如为5,我如何解开为1+4呢
Local $i=5
If BitAND(0x00000001, $i) = 0x00000001 Then MsgBox(0, "", 1)
If BitAND(0x00000002, $i) = 0x00000002 Then MsgBox(0, "", 2)
If BitAND(0x00000004, $i) = 0x00000004 Then MsgBox(0, "", 4)
If BitAND(0x00000008, $i) = 0x00000008 Then MsgBox(0, "", 8)
If BitAND(0x00000010, $i) = 0x00000010 Then MsgBox(0, "", 16)
If BitAND(0x00000020, $i) = 0x00000020 Then MsgBox(0, "", 32)
If BitAND(0x00000040, $i) = 0x00000040 Then MsgBox(0, "", 64)
If BitAND(0x00000080, $i) = 0x00000080 Then MsgBox(0, "", 128)
回复 2# veket_linux
感谢解惑。。又多学习到一点。
页:
[1]