- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这段代码:
BitArray bits = new BitArray(new byte[] { 7 });
foreach (bool bit in bits)
{
Console.WriteLine(bit ? 1 : 0);
}
给我以下输出:
11100000
不应该反过来吗?像这样:
00000111
我知道有小端和大端,尽管这些术语仅指字节的位置。据我所知,它们不会影响位。
最佳答案
The first byte in the array represents bits 0 through 7, the second byte represents bits 8 through 15, and so on. The Least Significant Bit of each byte represents the lowest index value: " bytes [0] & 1" represents bit 0, " bytes [0] & 2" represents bit 1, " bytes [0] & 4" represents bit 2, and so on.
在对位进行索引时,约定是从最低有效端开始,即用二进制表示法书写时的右侧。但是,在枚举数组时,您从索引 0 开始,因此它们是从左到右而不是从右到左打印的。这就是它向后看的原因。
例如,单词 01011010 00101101 (90 45) 将被索引为:
0 1 0 1 1 0 1 0 - 0 0 1 0 1 1 0 1
----------------------- -----------------------
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
并且您会将它作为 new byte[] { 45, 90 }
传递给构造函数,因为您首先将它传递给最不重要的。打印出来时,它将按索引顺序显示为:1011010001011010
,这与原始二进制表示法相反。
关于c# - BitArray 以错误的方式返回位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066831/
我有一个包含以下内容的 BitArray: byte[] myBytes = {0, 0, 2, 176, 168, 3, 19, 0}; BitArray myBitArr = new BitArr
我需要将一个 BitArray(来自 std.bitmanip)分成两半。直到现在我发现切片没有实现,迭代它并附加或分配总是会产生超出范围的异常。我试图将它转换为其他类型(它适合 long/ulong
我该怎么做?我正在尝试计算两个数组何时在同一索引处具有相同的 TRUE/1 值。如您所见,我的代码有多个位数组,并且循环遍历每个位数组,并将它们与带有另一个循环的 comparisonArray 进行
我正在创建一个软件包,它一次接受 16 个 bool 值,将它们放入一个位数组中,然后将它们发送到 PLC 以供 PLC 解包和使用。我的问题有两个: 1) 如果我制作一个 BitArray(16),
我有不同大小的 BitArray,我想在十六进制字符串中进行转换。 我试图将 BitArray 转换为 byte[],但它没有给我正确的格式。 ( Converting a boolean array
如何确保从 BitArray 更改位时,BitArray 值保持在一个范围内。 示例: Given the range [-5.12, 5.12] and a = 010000000000000001
我正在寻找有关并发写入 System.Collections.BitArray 类的线程安全性的信息。 具体来说,请考虑以下人为设计的示例: BitArray bits = new BitArray(
我目前正在尝试使用 BitSet 在 C 中实现埃拉托色尼筛法,但是当我尝试筛选高达 1,000,000(100 万)- 100,000(100,000)的素数时,我遇到了段错误虽然我不明白为什么会出
我试过这样的: BitArray bits = new BitArray(00001110); 但结果是1110 似乎 BitArray 删除了前导零。 是否可以创建一个带前导零的 BitArray?
我正在从医疗设备中提取字节流,遇到了一个非常烦人的数据结构。基本上,我得到一个 2 字节的 block ,其中每个位代表一个 bool 值。这种结构在字节流中出现的频率足以围绕它开发结构/类,但在每种
我正在尝试从整数值初始化一个 System.BitArray 实例。但是,我似乎没有得到正确的值。 我的代码是 var b = new BitArray(BitConverter.Ge
这段代码: BitArray bits = new BitArray(new byte[] { 7 }); foreach (bool bit in bits) { Console.Write
我有一个 System.Collections.BitArray 数组(~3000 项),我想将所有位向左移动 1。但是该集合似乎不支持该操作(即 bitArray << 1 不工作,没有方法)。知道
我有一个长度相当大 (500,000) 的 c# BitArray,我正在尝试获取数组中所有正位集的索引。目前我正在通过以下方式实现这一目标: public int[] GetIndexesForPo
请考虑将斜杠符号(例如 24、30)转换为子网掩码的这个(非家庭作业)练习。 当我复制 BitArray至 byte[] , BitArray 的内部排序导致输出不正确。 例如,输入 numberOf
我遇到了 BitArray 的问题。 目标是模拟 8 个 80bit BitArrays 的堆栈,编号从 0 到 7。 我只需要能够通过索引访问它们,所以我认为一个简单的数组对我来说就足够了。 当初始
我正在尝试解决一个更大的问题。作为其中的一部分,我创建了一个 BitArray 来表示一系列按顺序做出的二元决策。我知道所有有效的决策系列都会有一半的决策是正确的,一半是错误的,但我不知道顺序: t
我已经阅读了关于 BitArray 转换的其他帖子,并亲自尝试了几个,但似乎没有一个能提供我想要的结果。 我的情况是这样的,我有一些控制 LED 灯条的 c# 代码。要向 strip 发出单个命令,我
我创建了以下将按要求执行的函数(将 HEX 字符串转换为 BitArray)。我不确定函数的效率,但我现在的主要问题是 Convert.ToInt64 函数是 endian 特定的。当这被移植到备用芯
背景 我这里有一个控制台应用程序,其中发生了以下事情...... 用户/运算符(operator)将一串位输入控制台,即“0101”。 - 作品 比特串被转换成一个字节。 - 作品 使用我的反转方法反
我是一名优秀的程序员,十分优秀!