C# 点阵列(BitArray)

管理位置的压缩数组,该值表示布尔值,true表示打开的(1),false表示位是关闭的(0)。

当您需要存储位,但是事先不知道位数时,则使用点阵列。

using System;
using System.Collections;
namespace CollectionsApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建两个大小为 8 的点阵列
            BitArray ba1 = new BitArray(8);
            BitArray ba2 = new BitArray(8);
            byte[] a = { 60 };
            byte[] b = { 13 };

            // 把值 60 和 13 存储到点阵列中
            ba1 = new BitArray(a);
            ba2 = new BitArray(b);

            // ba1 的内容
            Console.WriteLine("Bit array ba1: 60");
            for (int i = 0; i < ba1.Count; i++)
            {
                Console.Write("{0, -6} ", ba1[i]);
            }
            Console.WriteLine();

            // ba2 的内容
            Console.WriteLine("Bit array ba2: 13");
            for (int i = 0; i < ba2.Count; i++)
            {
                Console.Write("{0, -6} ", ba2[i]);
            }
            Console.WriteLine();

            BitArray ba3 = new BitArray(8);
            ba3 = ba1.And(ba2);

            // ba3 的内容
            Console.WriteLine("Bit array ba3 after AND operation: 12");
            for (int i = 0; i < ba3.Count; i++)
            {
                Console.Write("{0, -6} ", ba3[i]);
            }
            Console.WriteLine();

            ba3 = ba1.Or(ba2);
            // ba3 的内容
            Console.WriteLine("Bit array ba3 after OR operation: 61");
            for (int i = 0; i < ba3.Count; i++)
            {
                Console.Write("{0, -6} ", ba3[i]);
            }
            Console.WriteLine();

            Console.ReadKey();
        }
    }
}
<a target=_blank href="http://www.w3cschool.cc/csharp/csharp-bitarray.html">http://www.w3cschool.cc/csharp/csharp-bitarray.html</a>



时间: 2024-11-08 22:46:45

C# 点阵列(BitArray)的相关文章

C#中的6种常见的集合

1.动态数组(ArrayList) 动态数组(ArrayList)代表了可被单独索引的对象的有序集合.它基本上可以替代一个数组.但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小.它也允许在列表中进行动态内存分配.增加.搜索.排序各项. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Tex

2019年7月6日 数组集合

---恢复内容开始--- 1.变量是程序运行时在内存中存储可变数据的容器 2.数组长度固定 类型相同 3.数组的分类:一维数组 多维数组 不规则数组 4.数组的应用 创建 赋值 应用 5.声明一维数组  数据类型[] 名称 = new 数据类型[数组长度] 6.声明一维数组 直接告诉数组都有什么值 数据类型[] 数组名 = new 数据类型[](进行赋值) 7.多维数组又称之为矩形数组 声明二维数组 数据类型[,] 数组名 = new  数据类型 [,] 8.交错数组就是数组的数组 数据类型[]

C#常用集合

数组的缺点:长度固定.因此引入集合的使用. 注:泛型集合更安全,性能更高. 常用集合 对应泛型 ①动态数组ArrayList    List<T> 常用方法属性:Add  Clear  Contains  IndexOf  Insert  Remove  Sort ②哈希表Hashtable   Dictionary<TKey,TValue> 常用方法属性:Add  Clear  ContainsKey  ContainsValue  Remove ③排序列表SortedList 

Python的 bitarray 库测试。。

# -*- coding:utf-8 -*- import sys import time import time from collections import namedtuple t = [     ("u32","n1"), #格式, 变量名称      ("u6","n2"),     ("u4","n3"),    ( "u3","n4"

使用BitArray判断素数

首先显示1024范围内的所有素数,然后显示输入的数是否是素数.1024 是代码中计算的素数的范围,可以修改.计算平方根,是为了确定一个基数的范围.1024的平方根是32,两个超过32 的数相乘,肯定大于1024,所以基数的范围是2-32,倍数的范围是基数的倍数小于1024.思路是:把所有基数的所有倍数在BitArray里面的值设置为false,BitArray中为true的下标,即为素数. 1 public class BitArrayClass 2 { 3 public static void

位数组(BitArray,BitVector32)

BitVector32结构效率高,位数不可变 BitArray效率低,位数可以变 ========================================BitArray using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleA

C++ BitArray 引用计数实现

1 #ifndef __BITARRAY__ 2 #define __BITARRAY__ 1 3 4 #include <cstdio> 5 #include <cstring> 6 7 #if __cplusplus >= 201103L 8 #include <cstdint> 9 #else 10 #include <stdint.h> 11 #endif 12 13 #if __cplusplus < 201103L 14 #defin

BitArray类的使用--(转换二进制数的内部实现过程)

BitArray类用来处理位集合. 它和ArrayList十分类似,可以动态调整大小,可以在需要的时候添加二进制位而不用担心数组越界的问题.(所以本质它也是集合里套一个数组,可能是线性数组) 什么是位集合? ----位集合是可以用来有效表示Boolean值的集合.注意:表示True/False的集合,不是0.1集合. 另: 对常规数的二进制的显示或存储(如1): 0 0 0 0 0 0 0 1 而对于在BitArray里的存储,它是如下格式: True False False False Fal

BitArray编写埃拉托斯特尼筛法(原书错误,学习更正)

刚开始代码无法运行,修改后原书代码可以运行了,可是书本的思想还是错的. 虽然接下来的都是讲错误的思想下的"错误"的修改. 原书缺了窗体控件的代码,虽然在VS下不需要手动写窗体的代码,但是刚开始确实也不会怎么弄窗体 记录窗体拖拽的方法: 首要的一步是新建一个Windows窗体应用程序:文件 --> 新建 --> 项目 --> 选择Windows窗体应用程序: 此时VS界面左侧应当要有"工具箱",有的话这里面的控件就可以直接拖了,没有的话需要设置 在第