Eine lange Hexadezimalzahl (ggf. mit Vorkommaanteil, Komma als Trenner und Nachkommaanteil wird in eine Dezimalzahl umgerechnet.

Z =

 







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!