用一行代码把0变1,把1变0
本帖最后由 foboy 于 2010-7-11 01:48 编辑没事无聊了来凑凑热闹。
请问如何用一行代码改变一个1位数,如果是1就变成0,如果是0就变成1。
不能用条件、选择等语句。 {:face (356):}
$i = "a0a0a0a0a0a0a0a0"
$i = StringReplace($i, "0","1")
msgbox(0,"",$i)
$i = StringReplace($i, "1","2")
msgbox(0,"",$i)
$i = StringReplace($i, "2","3")
msgbox(0,"",$i) BitXOR($number,1) 看下{:face (411):}{:face (411):} 學習學習 看看高手的代碼 我能想到就是这个不过不是一行{:face (229):}
$a = "1010101010101010101"
$a = StringReplace($a,"0" , "3")
MsgBox(0,"",$a)
$a = StringReplace($a,"1" , "4")
MsgBox(0,"",$a)
$a = StringReplace($a,"3" , "1")
MsgBox(0,"",$a)
$a = StringReplace($a,"4" , "0")
MsgBox(0,"",$a) 回复 3# 辣椒龙
犀利! 呵呵 有意思。。。 学习一下3楼的 看看 好好学习 天天向上 $number=0101101
$a=BitxOR($number,1)
MsgBox(1,"1",$a) abs也可以LZ不失是个好办法 看了再说!! 本帖最后由 3mile 于 2010-7-6 22:56 编辑
我也来试试只有一行的。
当然赋值行不能算
正则的办法:$number=10101101
MsgBox(0,'一行完成',StringRegExpReplace(StringRegExpReplace(StringRegExpReplace($number,'0','2'),'1','0'),'2','1'))
非正则的办法$number=10101101
MsgBox(0,'一行完成',StringReplace(StringReplace(StringReplace($number,'0','2'),'1','0'),'2','1')) 看看先~~~~