public static BitArray ShLo(BitArray B)
{
return new BitArray(System.BitConverter.GetBytes(Math.Floor((GetIntFromBitArray(B)/2) % (Math.Pow(2, 64)))));
}
private static ulong GetIntFromBitArray(BitArray bitArray)
{
var array = new int[2];
bitArray.CopyTo(array, 0);
return (uint)array[0] + ((ulong)(uint)array[1] << 32);
}
该方法需要很长时间。我可以优化它吗?如何在此方法中优化数学运算?
将其拆分为单独的语句并获得体面的分析器来查看_which_部分需要“很长时间”。直到你这样做,你只是猜测。 –
你的方法实际上试图实现什么?它不利于我们不知道'GetIntFromBitArray'的作用... –
@JonSkeet更新代码。现在GetIntFromBitArray方法在这里。 –