gpt4 book ai didi

c# - BitArray转为整数问题

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:38 25 4
gpt4 key购买 nike

public static int getIntegerFromBitArray(BitArray bitArray)
{
var result = new int[1];
bitArray.CopyTo(result, 0);
return result[0];
}

// Input A) 01110
// Output A) 14
// Input B) 0011
// Output B) 12 <=== ????? WHY!!! :)


有人可以解释一下为什么我的第二个返回值是12而不是3吗?求求你了,谢谢你。

最佳答案

基本上,它以与期望的顺序相反的顺序考虑位-您没有显示如何将输入二进制映射到BitArray,但是结果是将其视为1100而不是0011。

诚然,文档尚不清楚,但是它确实按照我期望的方式工作:bitArray[0]表示最低有效值,就像在讨论二进制文件时通常一样(因此位0为0/1,位1是0/2,位2是0/4,位3是0/8等)。例如:

using System;
using System.Collections;

class Program
{
static void Main(string[] args)
{
BitArray bits = new BitArray(8);
bits[0] = false;
bits[1] = true;

int[] array = new int[1];
bits.CopyTo(array, 0);
Console.WriteLine(array[0]); // Prints 2
}
}

关于c# - BitArray转为整数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9697623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com