Forum: PC-Programmierung Stellen einer Zahl in C berechnen?


von Christian H. (christian_h52)


Lesenswert?

Für ein Programm muss ich Vorkommen von Zeichen zählen und dann 
ausgeben. Das einzige was ich weiß ist eine Maximale Anzahl an Vorkommen 
(Konstante).

Doch für die Ausgabe muss ich die Anzahl (Integer) mit itoa in ein char 
konvertieren - doch hier brauche ich ein char Array zum Speichern. Mit 
einem Char könnte ich genau eine Stelle darstellen, aber wie komme ich 
jetzt auf die Maximale Anzahl von Stellen dh. die größe des Arrays?

Ich weiß, dass man mit dem log zur Basis 10 die Anzahl der Stellen 
"annähern"   kann. Aber nur für die Größenfestlegung wäre diese Funktion 
ein wenig zu aufwändig (und vl zu ungenau). Wie könnte ich jetzt die 
(max.) Stelligkeit einer Zahl berechnen?

von Peter II (Gast)


Lesenswert?

ich vesteht kein wort.

Wenn du 8bit in  itoa gibst dann kommen maximal 3+1 zeichen raus (255)
bei 16bit sind es 5+1 (65536)
bei 32bit sind es 10+1 (4294967296)

was willst du da jetzt noch rechnen?

von fakusb (Gast)


Lesenswert?

Teile deine Zahl sooft durch 10 bis sie kleiner als 1 ist. Die anzahl 
des Teilens ist die Anzahl deiner Stellen!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.