古い問題のちょっとした文脈...
だから、いくつかのテストの後、数十のブレークポイント...私のコードは壊れていた。 しかし、私はこの機能でどこかにそれを切り捨てていますC# - bool []へのランダムなバイト数とバックがうまくいかない?
public BigInteger getNum()
{
BigInteger rtrnVal = 0;
int pow = 0;
foreach (bool b in _arr)
{
rtrnVal += (b ? BigInteger.Pow(2, pow) : 0);
pow++;
}
return rtrnVal;
}
そして、この1 ...
public numToBin(object n)
{
assignType(n); //Check if the type is valid
BigInteger r = new BigInteger(Convert.ToInt32(n)); //Make sure that the type is valid
_arr = new List<bool>(); //Refresh the internal array of booleans
while (r != 0) //While we arent left with 0...
{
//if (!first) if (_arr.Last()) r += 1; //If the last one was true, then add one, because we want the ceiling (round up not down)
_arr.Add(!r.IsEven); //Add to the list
r = r/2; //Divide by two... I think this may potentially be
}
}
しかし、それを固定しました!正しい方向に私を指してくれてありがとう!
*私はリストを逆転したときにエラーが発生しました。
問題がどこにあるのか分かっているなら(num 123行(オブジェクトn)メソッド)、疑問を単純化して、失敗したコードと予想される結果の詳細を入れるだけでより明確にすることができます。私はあなたの方法を見ていて、あなたがしていることを理解していません。 – Etienne
Ok コメントを追加します。 –
すべてのメソッド呼び出しを1行に入れ子にするのではなく、別々の行に分割するほうが簡単なので、メソッドの戻り値を調べることができます。 –