找回密码
 加入
搜索
查看: 9926|回复: 32

[效率算法] 用一行代码把0变1,把1变0

 火... [复制链接]
发表于 2010-7-6 17:03:57 | 显示全部楼层 |阅读模式
本帖最后由 foboy 于 2010-7-11 01:48 编辑

没事无聊了来凑凑热闹。
请问如何用一行代码改变一个1位数,如果是1就变成0,如果是0就变成1。
不能用条件、选择等语句。
发表于 2010-7-6 17:12:30 | 显示全部楼层

$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)
发表于 2010-7-6 17:27:46 | 显示全部楼层
BitXOR($number,1)
发表于 2010-7-6 17:34:22 | 显示全部楼层
看下
发表于 2010-7-6 17:35:47 | 显示全部楼层
學習學習   看看高手的  代碼
发表于 2010-7-6 17:47:58 | 显示全部楼层
我能想到就是这个不过不是一行
$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)
发表于 2010-7-6 19:41:20 | 显示全部楼层
回复 3# 辣椒龙

犀利!
发表于 2010-7-6 19:57:27 | 显示全部楼层
呵呵 有意思。。。
发表于 2010-7-6 20:06:15 | 显示全部楼层
学习一下3楼的
发表于 2010-7-6 20:21:57 | 显示全部楼层
看看 好好学习 天天向上
发表于 2010-7-6 20:46:15 | 显示全部楼层
$number=0101101
$a=BitxOR($number,1)
MsgBox(1,"1",$a)
发表于 2010-7-6 20:47:42 | 显示全部楼层
abs也可以  LZ不失是个好办法
发表于 2010-7-6 20:50:05 | 显示全部楼层
看了再说!!
发表于 2010-7-6 22:54:37 | 显示全部楼层
本帖最后由 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'))
发表于 2010-7-7 04:15:41 | 显示全部楼层
看看先~~~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-15 23:49 , Processed in 0.079620 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表