long to string
-
hallo
ich möchte die anzahl der erforderlichen zeichen ermitteln, damit eine
zahl vom typ long sicher in ein array typs char hineinpasstmeine überlegung
pseudo code:
laenge = string_laenge ( nummer_zu_text ( LONG_MAX ) )
oder
zaehler = 0 zahl = LONG_MAX solange zahl: zahl = zahl / 10 zaehler = zaehler + 1 - ende solange zahl - zaehler = zaehler + 1
problem:
ich möchte ein statisches array und kein C99 benutzen d.h. keine variable length arrays.ein char long_buffer[sizeof(long)*CHAR_BIT] ist mir zu groß weil die zahlen nicht binär gespeichert werden.
gibts da eine schöne möglichkeit?
-
So Pi mal Daumen kannst du die AnzahlBits durch 3 teilen. Evtl musst du aufrunden und Platz fürs Vorzeichen lassen.
-
da muss man erstmal drauf kommen
-
210 ≈ 103 kilo -> 4 Dezimalstellen
220 ≈ 106 Mega -> 7 Dezimalstellen
230 ≈ 109 Giga -> 10 Dezimalstellen
-
Nicht vergessen, dass noch ein Minuszeichen kommen könnte!
-
DirkB schrieb:
210 ≈ 103 kilo -> 4 Dezimalstellen
220 ≈ 106 Mega -> 7 Dezimalstellen
230 ≈ 109 Giga -> 10 Dezimalstellenachso, ja da ist ne gewisse verbindung zum teiler 3
SeppJ schrieb:
Nicht vergessen, dass noch ein Minuszeichen kommen könnte!
ja, hat dirkb ja schon erwähnt
ist sowieso alles ulong ;);) aber ein bytes gibts trotzdem extra, zur vorsicht ;););)