·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0位操作使用方法示例

时间:2012-11-05 21:2851cto.com
在ActionScript3中,取末k位的操作这样是不行的,需要重新写。 那么仔细考虑一下,取末N位的操作应该如何取呢

百度百科中,取一个二进制末K位的操作是:
取末k位 | (1101101->1101,k=5) | x and (1 shl k-1)
其中and = & shl = <<


在ActionScript3中,取末k位的操作这样是不行的,需要重新写。
那么仔细考虑一下,取末N位的操作应该如何取呢?

先来看看,位操作中&(and)操作符的应用:
1&0=0
0&0=0
所以呢:
001&000=000
100&111=100
101&011=001

如果位数不同呢?
101&0=0
101&1=1
101&10=00
101&11=01
101011&111=011=11

于是我们取x最后n位的办法就出来了:
x&1111111(n个1)

在AS3中具体的实现代码为:
x&(~(~0<<n));

再简化一下:
x&(~(-1<<n));

在很多AS3程序的优化中,这个操作可是很有用的:-)

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器