
2007-8-12 20:00
Haohappy
PHP基础知识--字符串的位操作
基础知识,为《Programming PHP》的读者解答的。
PHP中所有位操作符都可用于数字和字符串。如果是数字,要转换为二进制;如果是字符串要先转成ACSII值,再转为二进制数。
例如按位与(&):
[php]
<?php
echo "wolf"&"cat";
//输出 “cad”
?>
[/php]
具体运算过程是这样的:
首先最短为三个字符,所以
"wolf"&"cat"我们只需要考虑"wol"&"cat" ,wolf中最后一个f不考虑
然后把各字母转换为ASCII码,再把ASCII码转成二进制表示:
比如首位为w和c:
字母 ASCII 二进制值
w 119 1110111
c 99 1100011
现在我们把两个二进制值进行按位与操作,位上都为1则等于1,否则为0
1110111
1100011
-------------
1100011
所以得到结果为 1100011,即字母c
所以首个字母w&c的结果为c
同样道理,可以计算o&a和l&t,得到a和d,最后把c,a,d连接起来,即得到最终结果“cad”。
2007-8-16 21:32
kuco
道理明白..但似乎应用的地方很少..
2007-8-28 17:20
mayongzhan
位运算只在考试的时候用到过,
不过位运算比普通的运算效率高很多.
比如 $a=3
要执行$a*2,
这样: $a<<1
位移一位就相当于乘二
2007-8-29 13:15
nawsber
从来没用过,这种字符的位运算用在什么地方?
wol&cat得到cad
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.