Ich versuche ini String in temp
, ist äußeree Schleife neu zu ordnen für die Anzahl der Zeichen in temp
und innere Schleife ist das finden Indexnummer von PC2_table
und fügen Sie den Charakter ini[j]
zu temp
, alles funktioniert gut, aber ich weiß nicht, warum ich nichts Index immer 13.Ich weiß nicht, warum ich „0“ bei Index 13 temp immer
string ini = "000100010000110011110100001001101001001110101101";
Console.WriteLine(ini.Length + " " +ini[0]);
int[] PC2_table = { 13 , 16 , 10 , 23 , 0, 4,
2 , 27 , 14 , 5 , 20, 9,
22 , 18 , 11 , 3 , 25, 7,
15 , 6 , 26 , 19 , 12, 1,
40 , 51 , 30 , 36 , 46, 54,
29 , 39 , 50 , 44 , 32, 47,
43 , 48 , 38 , 55 , 33, 52,
45 , 41 , 49 , 35 , 28, 31};
ini = " " + ini; // because PC2 table main indexing 1 sy hai
string temp = null;
for (int i = 0; i < 56; i++)
{
for (int j = 0; j < PC2_table.Length; j++)
{
if(PC2_table[j] == i)
{
Console.WriteLine(i + " " +j + " " + ini[j]);
temp += ini[j];
break;
}
}
}
Console.WriteLine(temp);
Ich verstehe die Logik nicht –
Entfernen Sie 'ini =" "+ ini;'. 'PC2_table' hat eine Null. Warum denken Sie, dass der Index bei "1" beginnt? –