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_ partが "長い時間"を取るのを見てください。あなたがそれをするまで、あなたはただ推測しているだけです。 –
実際に達成しようとしている方法は何ですか? 'GetIntFromBitArray'が何をしているのかわからないことはありません... –
@JonSkeet更新コード。ここでGetIntFromBitArrayメソッドを取得します。 –