整数のビット表現をループする必要があり、次にその中のゼロの数を計算する必要があります。私は以下のコードに疲れましたが、残念ながらそれは機能しませんでした:
public int calculate(int i)
{
string a = Convert.ToString(i, 2);
int[] array = new int[a.Length];
int number = 0;
for (int n = 0; n < s.Length; n++)
{
iarray[n] = s[n]; // build an array of intigers representing the bits valies such as 0011100
}
for (int n = 0; n < array.Length; n++)
{
if (array[n] == 0) {
number = number + 1;
}
return number
}
意図したとおりに機能しない理由を誰かにアドバイスできますか?