1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
public static int HexaToInt(Byte[] Buffer, int debut, int longueur)
{
int Somme = 0;
int facteur = 0;
Char currentCaractere;
Byte[] WorkingBuffer = new Byte[longueur];
for (int i = 0; i < longueur; i++)
{
WorkingBuffer[i] = Buffer[debut + i];
}
String tmpString = TrameToString(WorkingBuffer).Replace(" ","");
for (int j = tmpString.Length - 1; j >= 0; j--)
{
currentCaractere = tmpString[j];
switch (currentCaractere)
{
case '1': Somme += 1 * puissance(16, facteur); break;
case '2': Somme += 2 * puissance(16, facteur); break;
case '3': Somme += 3 * puissance(16, facteur); break;
case '4': Somme += 4 * puissance(16, facteur); break;
case '5': Somme += 5 * puissance(16, facteur); break;
case '6': Somme += 6 * puissance(16, facteur); break;
case '7': Somme += 7 * puissance(16, facteur); break;
case '8': Somme += 8 * puissance(16, facteur); break;
case '9': Somme += 9 * puissance(16, facteur); break;
case 'A': Somme += 10 * puissance(16, facteur); break;
case 'B': Somme += 11 * puissance(16, facteur); break;
case 'C': Somme += 12 * puissance(16, facteur); break;
case 'D': Somme += 13 * puissance(16, facteur); break;
case 'E': Somme += 14 * puissance(16, facteur); break;
case 'F': Somme += 15 * puissance(16, facteur); break;
}
facteur++;
}
return Somme;
} |
Partager