CSharp - Incrementar número hexadecimal
Written by lopezatienza on 29 Octubre 2008 – 16:47 -
public string IncrementarHexadecimal(string Numero)
{
try
{
int aux = Numero.Length;
int i = 1;
string Numero2 = "";
while (Numero.Substring(aux - i, 1) == "F")
{
Numero2 = "0" + Numero2;
i++;
}
switch (Numero.Substring(aux - i, 1))
{
case "9":
Numero2 = "A" + Numero2;
break;
case "A":
Numero2 = "B" + Numero2;
break;
case "B":
Numero2 = "C" + Numero2;
break;
case "C":
Numero2 = "D" + Numero2;
break;
case "D":
Numero2 = "E" + Numero2;
break;
case "E":
Numero2 = "F" + Numero2;
break;
default:
Numero2 = (Convert.ToInt32(Numero.Substring(aux - i, 1)) + 1) + Numero2;
break;
}
Numero2 = Numero.Substring(0, aux - i) + Numero2;
return Numero2;
}
catch { return null; }
}
Ej1:
String cadena = "0000A";
String cadena2 = Incrementar(cadena));
cadena2 sería "0000B"
E2j:
String cadena = "AABF";
String cadena2 = Incrementar(cadena));
cadena2 sería "AAC0"
Si el número que se pasa es todo Fs: "FFFF", la continuación será: "0000"
Tags: C#, CSharp
Posted in CSharp |
