J'ai une méthode pour convertir un tableau de booléens en nombre entier. On dirait que cetteMéthode opposée de la puissance mathématique ajoutant des nombres
class Program
{
public static int GivMeInt(bool[] outputs)
{
int data = 0;
for (int i = 0; i < 8; i++)
{
data += ((outputs[i] == true) ? Convert.ToInt32(Math.Pow(2, i)) : 0);
}
return data;
}
static void Main(string[] args)
{
bool[] outputs = new bool[8];
outputs[0] = false;
outputs[1] = true;
outputs[2] = false;
outputs[3] = true;
outputs[4] = false;
outputs[5] = false;
outputs[6] = false;
outputs[7] = false;
int data = GivMeInt(outputs);
Console.WriteLine(data);
Console.ReadKey();
}
}
Maintenant, je veux faire ensemble retour méthode inverse de valeurs booléennes Comme je suis court avec la connaissance de # .NET et C jusqu'à présent, je n'ai que mon hardcoding esprit de l'instruction switch ou si les conditions de chaque valeur int possible.
public static bool[] GiveMeBool(int data)
{
bool[] outputs = new bool[8];
if (data == 0)
{
outputs[0] = false;
outputs[1] = false;
outputs[2] = false;
outputs[3] = false;
outputs[4] = false;
outputs[5] = false;
outputs[6] = false;
outputs[7] = false;
}
//After thousand lines of coed
if (data == 255)
{
outputs[0] = true;
outputs[1] = true;
outputs[2] = true;
outputs[3] = true;
outputs[4] = true;
outputs[5] = true;
outputs[6] = true;
outputs[7] = true;
}
return outputs;
}
Je sais qu'il doit y avoir un moyen plus facile.
Chaque fois que vous avez envie de « // Après mille lignes de Coed » vous devriez probablement venir sur StackOverflow =) –
pinailler: C'est 2816 lignes de code. – SLaks