- 浏览: 599800 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
wzh051527:
我是大四实习生一个,自我感觉技术能力在第三年。。唯一不明白,为 ...
十年技术,不要再迷茫 -
room_bb:
.hrl文件怎么加入到编译规则里面?比如:pp.hrl文件-d ...
Erlang中用的makefile的一点解释 -
吉米家:
感觉帆软报表的flash打印就很不错哇,特别好用
JSP 实现报表打印 -
雪碧爱芬达:
苦逼程序员的辛酸反省与总结 -
mlyjxx:
...
十年技术,不要再迷茫
package com.riaoo.utils { import flash.utils.ByteArray; /** * 支持位访问的 ByteArray 子类。 * @author Y.Boy * */ public class BitArray extends ByteArray { /** * 构造函数。可传递一个 ByteArray 对象进行初始化。 * @param bytes 现有的 ByteArray 数据。 * */ public function BitArray(bytes:ByteArray = null) { if (bytes != null) { this.writeBytes(bytes, 0, bytes.length); } } /** * 返回位长度。bitLength = ByteArray.length * 8 。 * @return * */ public function get bitLength():uint { return this.length * 8; } /** * 返回由参数 index 指定位置处的位的值。1 为 true,0 为 false 。 * @param index 一个整数,指示位在 ByteArray 中的位置。第一个位由 0 指示,最后一个位由 BitArray.length * 8 - 1 指示。 * @return 指示索引处的位的值。或者,如果指定的索引不在该 ByteArray 的索引范围内,会抛出 RangeErroe 错误,并返回 false 。 * */ public function getBitAt(index:uint = 0):Boolean { index++; // 索引值加 1 ,计算出长度 if (index > this.length * 8) { throw new RangeError("数值不在可接受的范围内。可接受范围为:0 到 ByteArray.length*8-1 。"); return false; } var byteIndex:uint = Math.ceil(index/8) - 1; // 目标字节的索引 var flag:uint = 1 << (this.length * 8 - index) % 8; // 计算标志位 return Boolean(this[byteIndex] & flag); } /** * 设置由参数 index 指定位置处的位的值。如果 index 指定位置处的长度大于当前长度,该字节数组的长度将设置为最大值,右侧多出的位将用零填充。 * @param index 一个整数,指示位在 ByteArray 中的位置。第一个位由 0 指示,最后一个位由 BitArray.length * 8 - 1 指示。 * @param value 要设置的值。true 为 1 ,false 为 0 。 * */ public function setBitAt(index:uint, value:Boolean):void { index++; // 索引值加 1 ,计算出长度 // 如果 index 指定位置处的长度大于当前长度,该字节数组的长度将设置为最大值,右侧多出的位将用零填充。 var len:uint = Math.ceil(index/8); if (len > this.length) { this.length = len; } var byteIndex:uint = Math.ceil(index/8) - 1; var flag:uint = 1 << (this.length * 8 - index) % 8; // 计算标志位 if (value) { this[byteIndex] |= flag; // 设置位,即赋值 1 } else { this[byteIndex] &= ~flag; // 取消位,即赋值 0 } } /** * 获取指定坐标处的值,x 轴方向的长度由 lengthX 指定。 * @param lengthX x 轴方向上的长度。 * @param x x 坐标。 * @param y y 坐标。 * @return 指定坐标处的值。 * */ public function getBitAtCoord(lengthX:uint, x:uint, y:uint):Boolean { var i:uint = y * lengthX + x; return this.getBitAt(i); } } }
发表评论
-
as3 Loader 加载资源后内存泄露无法释放的问题。
2014-06-21 10:30 691as3 Loader 加载资源后内存泄露无法释放的问题。 ... -
as3判断flash player版本的函数
2014-06-10 20:35 853//判断当前版本是否高于9.0.115.0为例子. pr ... -
CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑
2014-04-03 15:25 1057华文细黑:STHeiti Light [STXihei]华文 ... -
as3.0的垃圾回收机制
2013-09-07 14:02 1549还是同样的博客,还是同样的作者(Daniel Sidhio ... -
AIR程序多开
2013-09-07 13:55 1016AIR应用通常不能像QQ那样能进行多开操作。为了让一个用AI ... -
starling性能优化总结
2013-07-22 14:06 1483在项目开发的过程中总结了一下starling的性能优化方案: ... -
AS3 Socket从零开始
2013-07-22 12:54 1115大家如果想学AS3 Socket直接在百度里搜一下,会找到很 ... -
绕开AS3安全沙箱 跨域加载SWF
2013-07-11 12:53 923AS3的安全沙箱的确是 ... -
解决AS3在ie中初始化时stageWidth和stageHeight为0
2013-06-14 09:23 1039先看下面的一段脚本,这是比较经典的初始化脚本: pac ... -
动态获取swc中的类
2013-05-25 10:32 987想通过代码生成,来获取swc中的类,并且可以作为普通类正常使 ... -
AS3 中字符串的format功能实现
2013-05-25 10:19 848使用C#的朋友都知道,string.Format();还是挺 ... -
总结调用Flash的几种方法
2013-05-02 16:18 1684一、Adobe 提供的方法 <object wi ... -
Flash3D错误集锦
2013-05-02 14:03 952VerifyError: Error #1014: 无法找到 ... -
使用scale拉伸之后的坐标问题
2013-04-12 09:38 1308最近发现论坛多了很多 ... -
30个实用的网页设计工具
2013-03-20 09:58 844作为一位网页设计师或开发者,你一直需要搜寻获取强大的网页设计 ... -
如何成为强大的程序员?
2013-03-11 11:27 736Aaron Stannard是新创公 ... -
漫谈重构
2013-03-11 11:09 886因为工作内容的原因, ... -
AS3使用谷歌API生成二维码
2012-12-10 16:24 1373二维码在新闻杂志,网站,网络广告,电视广告等地方随处可见 ... -
OOP的聚合原则
2012-12-10 16:21 940什么是聚合? 聚合可以很好地表达对象是什么和做 ... -
压缩速率追踪
2012-11-02 14:16 1490Flash Player 11.3添加了一个压缩和解压B ...
相关推荐
D选项的`BitArray answers = new BitArray(25)`创建了一个存储25个位的位数组,每个位代表一个问题的答案,且初始值均为`false`(默认),符合题目要求的预置为“是”(可以之后进行修改)以及内存效率的要求。...
本项目是基于C#语言实现的n选m组合算法,能够处理各种类型的数据,包括数字、字符串甚至是自定义的对象。下面我们将深入探讨这个算法的实现原理和C#中的关键概念。 首先,组合算法的核心思想是无序性,即选取的m个...
为了实现这点,可以使用BitVector32或BitArray类型,这些类型可以使用少量的内存来存储大量的布尔值。因此,正确的答案是B:BitVector32 answers = new BitVector32(-1)。 在微软C#认证中,考察了开发人员在使用C#...
【布隆过滤器详解】 布隆过滤器是一种空间效率极高的概率型数据结构,用于判断一个元素是否可能在一个集合中。...在Python中,我们可以通过`pybloom_live`这样的库轻松地使用布隆过滤器,也可以根据需要自定义实现。
但是,BitArray类是.NET框架中处理位数组的类,文档可能会讨论如何将BitArray与ObservableCollection结合,以适应MVVM的数据绑定机制。 4. **自定义转换器**:由于位和字节数据可能不直接与UI元素兼容,因此可能...
在这个项目中,可能使用了如bitarray这样的库来创建和操作位数组,以及自定义的哈希函数或现有的哈希模块如hashlib。 4. **False Negatives的避免**:在LDFD-BloomFilter的实现中,可能会使用多个独立的Bloom ...
《sfs的数据结构》一书详细介绍了基于`DictionaryBase`类创建自定义字典类的方法。散列表是一种利用哈希函数实现高效查找的字典实现方式,`HashTable`类便是.NET框架中实现散列表的一个例子。 #### 十、链表与...
VBA(Visual Basic for Applications)则是VB的一个变种,常用于在Microsoft Office套件中编写宏和自定义功能。 在VB2010中,了解常用命名空间和类对于深入学习和应用至关重要。以下是一些关键的命名空间及其包含的...
2. **BitArray**:这个类提供了一种存储和操作位集合的方式,适合处理位运算或存储大量布尔值的情况。BitArray是基于数组的,可以通过索引访问和修改单个位。 3. **Queue**:队列是一种先进先出(FIFO)的数据结构...
第九章至第十章介绍了字典数据结构的使用和实现,包括基于DictionaryBase类的自定义类创建,以及散列表和HashTable类的深入探讨,展示了数据作为键/值对存储的灵活性和效率。 第十一章至第十五章依次探讨了链表、...
- **字典**:一种将数据作为键/值对存储的数据结构,介绍如何创建基于DictionaryBase类的自定义字典类。 ##### 10. **第10章:散列表** - **散列表**:一种高效的查找数据结构,使用散列算法来快速定位数据。 ###...