as3的BitArray
来源:互联网 发布:马云怎么靠淘宝挣钱 编辑:程序博客网 时间:2024/06/13 02:35
在as3中,针对字节的低级操作可以通过ByteArray对象进行。ByteArray的最小存储对象是单个字节,8个位,最大正整数位256。ByteArray没有提精确到位的操作,位的状态只有两种0或者1,但是占用空间小,因此在很多情况下可以利用这种优势。
下面这个类就实现了精确到位的操作:
package components.utils{import flash.utils.ByteArray;public class BitArray extends ByteArray{public function BitArray(){}public function setBit(index:uint):void{this[index>>3] |= ( 1 << (index & 0x7));}public function unsetBit(index:uint):void{this[index >> 3] &= 0xFF ^ (1 << (index & 0x7));}public function getBit(index:uint):Boolean{return ((this[index >> 3] & (1 << (index & 0x7))) != 0);}}}
它继承自ByteArray,当然我们完全可以用复合而非继承。对ByteArray我们可以设想成每个字节/每8个位之间有一个界限,但这些界限在BitArray中被我们抹去,一个BitArray对象就是连续的位数据。
index >> 3
上面这行代码是将位的位置定位到字节位置,而下面这行代码是取index的低八位,取出来的结果就是位在字节中的位置:
index & 0x7然后用这个结果,将1左移这个结果的值的位数,并同字节数组中原字节数据进行|=(或等于)操作,这样就将index位置的位数据置为1了。
- as3的BitArray
- BitArray的使用
- BitArray 类
- C# BitArray
- C# BitArray
- as3的【】
- as3的【】
- as3的【】
- C#中将BitArray类型转换为十进制整数的一个思路
- C#的BitArray类,按位操作后将结果转换为整数
- BitArray应用小记
- C# BitArray 实例
- AS3 的一些用法
- as3的一些测试
- as3的hit检测
- [AS3]registerClassAlias的用法
- As3的ColorMatrix类
- as3 的socket 杂谈
- PHP魔术方法小结1
- 详解C#装箱与拆箱
- Android中调用webservice小结
- Android 移动开发TIPS小结4
- linux------------------00字符串操作------宏----------
- as3的BitArray
- (转)linux硬盘检测
- BoneCP数据连接池的例子配置
- 'SOAP Response cannot be decoded.Raw Response. faultDetail:null
- spring mvc3 REST中的一个注意点
- 已知一点的经纬度和该点到另一点的距离,求另一点的经纬度
- 一套不错的项目管理文章收藏
- 关于Grails中datePicker标签的使用
- 一个老外不错的修改过的PHP 5.3.6