[AS3]as3.0位操作使用方法示例
百度百科中,取一个二进制末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程序的优化中,这个操作可是很有用的:-)
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例