Hier die verwendeten C#-Code-Routinen:
Umrechnung eines Strings als Vorkommaanteil:
private string hexInDez(string s) // Vorkommaanteil
{
string h = s.Trim();
string hZiffern = "0123456789ABCDEF";
int dz = 0;
string dezZ = "0";
for (int hs = 0; hs < h.Length; hs++)
{
char hz = h[hs];
dz = hZiffern.IndexOf(hz);
string Zw = addiere2Strings(dezZ, dz.ToString()); // addiereZahlUnter16(dezZ, dz);
if (hs < h.Length - 1) dezZ = mult16(Zw); else dezZ = Zw;
}
while ((dezZ[0] == '0') && (dezZ.Length>1)) dezZ = dezZ.Substring(1);
return dezZ;
}
Umrechnung eines Strings als Nachkommaanteil:
private string hexNKinDezNK(string s) // Nachkommaanteil
{
string hZiffern = "0123456789ABCDEF";
string h = s;
int dz = 0;
string dezZ = "0,0";
for (int hs = h.Length - 1; hs >= 0; hs--)
{
char hz = h[hs];
dz = hZiffern.IndexOf(hz);
string Zw1 = dz.ToString() + dezZ.Substring(dezZ.IndexOf(',')); // addiere_ZahlUnter16(dezZ, dz);
string Zw2 = dividere_durch16(Zw1);
dezZ = Zw2;
}
return dezZ;
}
private string mult16(string s)
{
string e = "";
string Zw1a = multZiffer(s,6);
string Zw1b = s + "0";
e = addiereStrings(Zw1a, Zw1b);
return e;
}
Die sonst noch benötigten Funktionen findet man hier im Projekt bei den Langzahl-Rechenoperationen!