»
返回PHPEye网站首页
游客:
注册
|
登录
|
统计
|
帮助
PHPEye开源社区
»
PHP基础交流
» PHP基础知识--字符串的位操作
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: PHP基础知识--字符串的位操作
Haohappy
超级版主
PHPEye站长
UID 2
精华
11
积分 110
帖子 283
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
#1
使用道具
发表于 2007-8-12 20:00
资料
短消息
加为好友
PHP基础知识--字符串的位操作
基础知识,为《Programming PHP》的读者解答的。
PHP中所有位操作符都可用于数字和字符串。如果是数字,要转换为二进制;如果是字符串要先转成ACSII值,再转为二进制数。
例如按位与(&):
[复制PHP代码]
[
-
]
PHP代码如下:
<?php
echo
"wolf"
&
"cat"
;
//输出 “cad”
?>
具体运算过程是这样的:
首先最短为三个字符,所以
"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”。
互助共享,共同成长。
kuco
新手上路
UID 192
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2007-7-17
状态 离线
#2
使用道具
发表于 2007-8-16 21:32
资料
短消息
加为好友
道理明白..但似乎应用的地方很少..
mayongzhan
PHPEye Developer
UID 136
精华
2
积分 20
帖子 41
翻译 18
原创 1
阅读权限 1
注册 2007-6-30
状态 离线
#3
使用道具
发表于 2007-8-28 17:20
资料
短消息
加为好友
位运算只在考试的时候用到过,
不过位运算比普通的运算效率高很多.
比如 $a=3
要执行$a*2,
这样: $a<<1
位移一位就相当于乘二
我的博客
http://blog.csdn.net/mayongzhan/
nawsber
新手上路
UID 315
精华 0
积分 0
帖子 3
翻译 0
原创 0
阅读权限 10
注册 2007-8-29
状态 离线
#4
使用道具
发表于 2007-8-29 13:15
资料
短消息
加为好友
从来没用过,这种字符的位运算用在什么地方?
wol&cat得到cad
投票
交易
悬赏
活动
PHPEye开源社区
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
基本概况
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
当前时区 GMT+8, 现在时间是 2008-12-5 09:18
Powered by
Discuz!
5.5.0
© 2001-2007
Comsenz Inc.
Processed in 0.025730 second(s), 6 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
PHPEye开源社区
-
Archiver