Forum: Programmieren allgemein
by negaH,
23. Mai 2004
Ein guter Kompromiss stellt die Basis 48 dar. Sie enthielte dann alle Ziffern von '0' bis '9', alle Großbuchstaben von 'A' bis 'Z' aber OHNE 'O','Q','I','J' also zweideutig lesbare Buchstaben. Der Rest wird durch die gut lesbaren Kleinbuchstaben aufgefüllt.
128 * Ln(2) / Ln(48 ) = ~23 Zeichen.
Die Konvertierung zur Basis 48 = 0b110000 kann durch spezialisierte Algorithmen die modulo 0b100000...
Forum: Programmieren allgemein
by negaH,
23. Mai 2004
Beachten musst du dabei nur das der Int64 auch die entsprechende "Aufnahmegröße" für die gewählte Konvertierung ermöglicht. Bei Basis 36 ist die Rechnung vereinfacht so: 1 Ziffer benötigt 8 Bit, 64Bit / 8Bit = 8 Ziffern, 36^8 ~ 2821109907000 ist die größte kodierbare Zahl.
Will man mehr benötigt man einen binären Datentyp der mehr als 64Bit groß sein kann. Dazu kann man die BCD Routinen im...