Wie viele Byte sind erforderlich, um zu halten N Dezimalstellen

Ich habe einen string beliebiger Länge darstellt, ein dezimaler integer-Wert, und konvertieren Sie diesen string in eine große Zahl im plain-binary-format (nicht BCD, mehr als 64 bits).

Ich bin auf der Suche nach einer guten einfachen Schätzung, wie viele bytes werden halt N Dezimalstellen sicher und ohne Verwendung von floating-point-Arithmetik.

  • 1) Macht Ihr großen int-Bibliothek haben einige Length Funktion? 2) Warum wollen Sie vermeiden floating point?
  • Es wird davon abhängen, wie es gespeichert ist. Für die standard-Kodierung, jede Ziffer verwendet 4 bits, so nBytes=(nDigits+1)/2. Sie sollten auch erwägen, Kompression, sogar in-memory-Komprimierung, mit einigen schnellen Algorithmus. Verhältnis variieren, aber Sie sparen Platz für Sie sicher. Siehe auch wenn Ihre Daten möglicherweise einige Muster, wie die Speicherung eines delta zwischen den Werten (nach Art z.B.), die noch mehr erhöhen die Kompression.
InformationsquelleAutor kludg | 2012-02-25
Schreibe einen Kommentar