|
蛇足ですが、
> このfunction関数から返った0又は1の値を、別の変数 int testに1ビットずつ代入したいのです。 > 例えば、function変数を繰り返し実行して 0→0→1→1→0・・・ と返ってきたらtest変数には 01100 と代入して12としたいのです。しかし、変数testに1ビットずつ値を代入していく方法が分かりません。
function関数の繰り返しの回数(以下ではiに当たる)を記憶しておいて、 それぞれの回の戻り値をその回数分左シフトした値と 結果値用の変数との論理和を取るという原始的な方法もありますね。 以下、サンプル。
int[] test = new int[]{0, 0, 1, 1, 0}; int result = 0; for (int i = 0; i< test.Length; i++){ result |= test[i] << i; } Console.WriteLine(result);
|