当前位置: 首页 > news >正文

C#—BitArray点阵列

C#—BitArray点阵列

在 C# 中,BitArray 类用来管理一个紧凑型的位值数组,数组中的值均为布尔类型,其中 true(1)表示此位为开启,false(0)表示此位为关闭。

当需要存储位(英文名“bit”数据存储的最小单位,也可称为比特),但事先又不知道具体位数时,就可以使用点阵列。当需要访问点阵列中的元素时,可以使用整型索引从点阵列中访问指定元素,索引从零开始。

文章来源: C#教程(非常详细) - C语言中文网

BitArray 类中的属性

属性描述
Count    获取点阵列中包含的元素个数
IsReadOnly判断 点阵列是否只读
Item获取或设置点阵列中指定位置的值
Length    获取或设置点阵列中的元素个数
BitArray类中的方法

    
 

BitArray 类中的方法

方法名描述
public BitArray And(BitArray value) 对当前的点阵列中的元素和指定点阵列中相对应的元素执行按位与操作
public bool Get(int index)    获取点阵列中指定位置的位值
public BitArray Not()反转当前点阵列中所有位的值,即将 true 设置为 false,将 false 设置为 true
public BitArray Or(BitArray value) 对当前点阵列中的元素和指定点阵列中的相对应的元素执行按位或操作
public void Set(int index, bool value) 把点阵列中指定位置的位设置为指定的值
public void SetAll(bool value) 把点阵列中的所有位设置为指定的值
public BitArray Xor(BitArray value)对当前点阵列中的元素和指定点阵列中的相对应的元素执行按位异或操作

    


   
BitArray属性和方法的使用

class Demo{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("点阵列 ba1: 60");for (int i = 0; i < ba1.Count; i++){Console.Write("{0, -6} ", ba1[i]);}Console.WriteLine();// ba2 的内容Console.WriteLine("点阵列 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("执行按位与操作后的点阵列 ba3:");for (int i = 0; i < ba3.Count; i++){Console.Write("{0, -6} ", ba3[i]);}Console.WriteLine();ba3 = ba1.Or(ba2);// ba3 的内容Console.WriteLine("执行按位或操作后的点阵列 ba3:");for (int i = 0; i < ba3.Count; i++){Console.Write("{0, -6} ", ba3[i]);}Console.WriteLine();Console.ReadKey();}}

结果:

点阵列 ba1: 60
False  False  True   True   True   True   False  False
点阵列 ba2: 13
True   False  True   True   False  False  False  False
执行按位与操作后的点阵列 ba3:
False  False  True   True   False  False  False  False
执行按位或操作后的点阵列 ba3:
True   False  True   True   False  False  False  False

相关文章:

C#—BitArray点阵列

C#—BitArray点阵列 在 C# 中&#xff0c;BitArray 类用来管理一个紧凑型的位值数组&#xff0c;数组中的值均为布尔类型&#xff0c;其中 true&#xff08;1&#xff09;表示此位为开启&#xff0c;false&#xff08;0&#xff09;表示此位为关闭。 当需要存储位&#xff08…...

国产自主可控新征程:华为原生鸿蒙系统与鲲鹏认证

华为于今年10月22日在深圳正式发布了其原生鸿蒙系统HarmonyOS NEXT。这是我国首个实现全栈自研的操作系统&#xff0c;标志着中国在操作系统领域取得了突破性进展。HarmonyOS NEXT 5.0的发布&#xff0c;使得鸿蒙操作系统成为继苹果iOS和安卓系统之后的全球第三大移动操作系统&…...

esxi8 虚拟机使用ubuntu22模板后 没有ip配置文件,只有ipv6链接正常使用

esxi8 虚拟机使用模板后 没有ip配置文件&#xff0c;只有ipv6链接正常使用&#xff0c;/etc/NetworkManager/system-connections配置下没有配置文件 只有/etc/netplan/有文件 sudo ip addr add 192.168.1.9/24 dev ens35 # 临时设置ip&#xff0c; 接口名ens35 sudo vi /et…...

【Qualcomm】IPQ5018查看连接终端RSSI、SNR、NF方法

IPQ5018 简介 IPQ5018 是高通(Qualcomm)公司推出的一款面向网络设备的系统级芯片(SoC)。它通常用于路由器、接入点和其他网络设备中,提供高性能的无线网络连接。以下是关于 IPQ5018 的一些关键特性和功能: 关键特性 高性能处理器 IPQ5018 集成了多核 CPU,通常是 ARM …...

【构建工具】现代开发的重要角色

你可能有所听闻构建工具&#xff0c;但是不知道是干什么的&#xff0c;或者是开发中用到了&#xff0c;大概会使用&#xff0c;但是想理解一下具体的工作原理等&#xff0c;那么我将分享一下我对其的理解。【 我将分为两篇来讲解】。 当我们谈到构建工具时&#xff0c;可以把它…...

【Linux系统】—— 初识 shell 与 Linux 中的用户

【Linux系统】—— 初识shell 与 Linux 中的用户 1 Xshell 运行原理1.1 命令行的组成1.2 外壳程序 2 Linux中的用户2.1 两种用户2.2 创建普通用户2.3 用户切换2.3.1 普通->超级2.3.2 超级->普通 3 指令的短暂提权3.1 为什么要提权3.2 sudo 指令3.3 人人都能提权吗 1 Xshe…...

二维码数据集,使用yolov,voc,coco标注,3044张各种二维码原始图片(未图像增强)

二维码数据集&#xff0c;使用yolov&#xff0c;voc&#xff0c;coco标注&#xff0c;3044张各种二维码原始图片&#xff08;未图像增强&#xff09; 数据集分割 训练组70&#xff05; 2132图片 有效集20&#xff05; 607图片 测试集10&#xff05; 305图…...

Vue指令

创建项目&#xff1a; vue init webpack 项目名称 element-ui npm i element-ui -saxios npm i axios1.1.3 -S vuex npm i vuex3.6.2 -S vuex持久化 npm i -S vuex-persistedstate4.1.0代理模版 proxyTable: {/api: {target: http://localhost:8081/,changeOrigin: true,pathRe…...

数据保护策略:如何保障重要信息的安全

一、什么是数据安全&#xff1f; 数据安全是保护数字信息免遭盗窃、未经授权的访问和恶意修改的过程。这是一个持续的过程&#xff0c;负责监督信息的收集、存储和传输。 机密性&#xff1a;保护数据免遭未授权方访问。 完整性&#xff1a;保护数据免遭未经授权的修改、损坏…...

Chrome webdriver下载-避坑

WebDriver以原生的方式驱动浏览器&#xff0c;不需要调整环境变量。 一、window版 1.chrome和chromedriver下载地址&#xff1a; Chrome for Testing availability 我下载的是如下两个安装包&#xff0c;解压即可。 2.导包 pip install selenium然后用python代码引用即可…...

递归求最大公约数

#include <stdio.h>// 函数声明 int gcd(int a, int b);int main() {int x, y;printf("请输入两个正整数&#xff1a;");scanf("%d %d", &x, &y);printf("最大公约数是&#xff1a;%d\n", gcd(x, y));return 0; }// 递归求最大公约…...

关于在浏览器里面获取手机方向的事件

先说问题&#xff1a;浏览器有一个自带原生的获取手机方向的事件方法 deviceorientation: https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent/DeviceOrientationEvent 这个事件里面有个实例absolute 看名字知道意思吧&#xff0c;对就是绝对坐标的意…...

STM32 出租车计价器系统设计(一) 江科大源码改写

STM32 出租车计价器系统设计 功能目标 驱动步进电机模拟车轮旋转&#xff0c;并实现调速功能。 设置车轮周长和单价&#xff0c;检测车轮转速和运转时间。 计算并显示行驶里程和价格。 硬件材料 28BYJ48 五线四相步进电机和 ULN2003 驱动板模块 测速传感器模块 嵌入式小系统…...

eclipse rcp-创建rcp-创建target

1.创建一个target文件&#xff0c;将其命名为mine-rcp.target 2. 编辑target 2.1 点击add按钮&#xff0c;选中software site 2.2 选择一个software site 打开浏览器。 选择一个合适的eclipse作为基础版本。进入https://download.eclipse.org/eclipse/downloads/https://dow…...

微信小程序--创建一个日历组件

微信小程序–创建一个日历组件 可以创建一个日历组件&#xff0c;来展示当前月份的日期&#xff0c;并支持切换月份的功能。 一、目录结构 /pages/calendarcalendar.wxmlcalendar.scsscalendar.jscalendar.json二、calendar.wxml <view class"calendar"><…...

质量问题分析与改进常见方法

大同小异&#xff0c;本质都是定位、解决、推广三大步双归零 技术归零五条要求&#xff1a;“定位准确、机理清楚、问题复现、措施有效、举一反三”。 管理归零五条要求&#xff1a;“过程清楚、责任明确、措施落实、严肃处理、完善规章”。 航天FRACASFRACAS &#xff0c;是“…...

质数的和与积

质数的和与积 C语言代码C 代码Java代码Python代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 两个质数的和是S&#xff0c;它们的积最大是多少&#xff1f; 输入 一个不大于10000的正整数S&#xff0c;为两个质数的和。 输出 一个整…...

数据结构 (35)分配类排序

前言 分配类排序是数据结构中的一种重要排序方法&#xff0c;其核心思想是利用分配和收集过程对元素进行排序&#xff0c;而无需比较元素之间的关键字。这种方法突破了基于关键字比较的排序算法的时间下界&#xff0c;可以达到线性时间复杂度O(n)。 一、分配类排序的基本概念 分…...

Cesium隐藏默认控件

终于有时间开始整理下知识点了。 开搞 本地环境 vue3vitecesiumvite和cesium都是最新版本这里有个问题需要注意&#xff0c;就是如何为Cesium配置Vite&#xff0c;随便检索一下&#xff0c;大部分都时通过插件【vite-plugin-cesium】作为解决方案&#xff0c;我本地创建新的示…...

Spark SQL 执行计划解析源码分析

本文用于记录Spark SQL执行计划解析的源码分析。文中仅对关键要点进行提及&#xff0c;无法面面具到&#xff0c;仅描述大体的框架。 Spark的Client有很多种&#xff0c;spark-sql&#xff0c;pyspark&#xff0c;spark- submit&#xff0c;R等各种提交方式&#xff0c;这里以…...

如何选择AI写论文工具?

本科生、研究生写论文常陷文献难找、逻辑混乱、查重超标、AI幻觉等困境&#xff0c;盲目用AI工具还易触碰学术诚信红线。本文结合学术规范、查重要求、功能适配与数据安全&#xff0c;实测AI论文工具&#xff0c;帮你精准选对合规高效的写作助手。一、先守学术合规底线&#xf…...

语音真实度突破98.7%的关键在哪?ElevenLabs最新v3.2引擎深度测评,附权威MOS评分对比表

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;语音真实度突破98.7%的关键在哪&#xff1f;ElevenLabs最新v3.2引擎深度测评&#xff0c;附权威MOS评分对比表 ElevenLabs v3.2 引擎在2024年Q2发布的音频合成基准测试中&#xff0c;首次在自然度&…...

C++ 特殊成员函数详解:构造、析构、拷贝与移动

C 特殊成员函数详解&#xff1a;构造、析构、拷贝与移动 目录 概述基础成员函数 默认构造函数虚析构函数 拷贝操作 拷贝构造函数拷贝赋值运算符 移动操作&#xff08;C11&#xff09; 移动构造函数移动赋值运算符 常见问题解析 为什么拷贝参数是 const T&&#xff1f;为什…...

JPlag代码抄袭检测:17种编程语言的智能原创守护者

JPlag代码抄袭检测&#xff1a;17种编程语言的智能原创守护者 【免费下载链接】JPlag State-of-the-Art Source Code Plagiarism & Collusion Detection. Check for plagiarism in a set of programs. 项目地址: https://gitcode.com/gh_mirrors/jp/JPlag 在数字化教…...

从ShareGPT项目拆解现代全栈开发:Next.js、Serverless与Chrome扩展实战

1. 项目概述与核心价值如果你和我一样&#xff0c;经常在ChatGPT里进行一些天马行空的对话&#xff0c;从构思一部科幻小说的世界观&#xff0c;到一步步推导一个复杂的编程问题&#xff0c;再到让它扮演苏格拉底和你辩论哲学&#xff0c;这些对话记录本身就是宝贵的数字资产。…...

OpenClaw到Hermes一键迁移:自动化配置转移与智能体升级实践

1. 项目概述&#xff1a;从 OpenClaw 到 Hermes 的平滑迁移方案如果你正在运行一个名为 OpenClaw 的智能体项目&#xff0c;并且最近听说了它的“继任者”或一个更强大的替代品 Hermes&#xff0c;那么你很可能正面临一个经典的工程难题&#xff1a;如何将现有的、已经配置好的…...

如何快速配置ComfyUI ControlNet预处理器:完整安装与使用指南

如何快速配置ComfyUI ControlNet预处理器&#xff1a;完整安装与使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux ComfyUI ControlNet Aux预处理器…...

LyricsX:一站式macOS歌词同步解决方案,让音乐体验更智能

LyricsX&#xff1a;一站式macOS歌词同步解决方案&#xff0c;让音乐体验更智能 【免费下载链接】LyricsX &#x1f3b6; Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX LyricsX是macOS平台上功能最全面的歌词同步工具&#xff…...

【实战篇】Nginx反向代理负载均衡:从轮询到权重的策略演进

1. 反向代理与负载均衡基础认知 第一次接触Nginx的反向代理功能时&#xff0c;我盯着配置文件里的proxy_pass参数看了半天。这行看似简单的配置&#xff0c;背后其实隐藏着现代分布式系统的核心设计思想。想象一下这样的场景&#xff1a;当你在电商网站点击"立即购买"…...

终极魔兽争霸3优化指南:5分钟让你的经典游戏焕发新生

终极魔兽争霸3优化指南&#xff1a;5分钟让你的经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为《魔兽争霸3》的老旧限制…...