Ich weiß, wie man Binär in Dezimal konvertiert. Ich kenne mindestens 2 Methoden: Tabelle und Macht ;-)Wandle wirklich große Zahl von binär in dezimal um und drucke es
Ich möchte Binär in Dezimal konvertieren und diese Dezimalzahl drucken. Darüber hinaus interessiert mich diese "Dezimalstelle" nicht; Ich möchte es nur ausdrucken.
Aber, wie ich oben schrieb, kenne ich nur 2 Methoden, um binär in dezimal zu konvertieren, und beide benötigten Addition. Also berechne ich einen Wert für 1 oder 0 in binär und füge es dem gemerkten Wert hinzu. Dies ist ein dünner Ort. Ich habe eine wirklich große Zahl (1 und 64 Nullen). Während der Konvertierung muss ich ein Zwischenergebnis in eine Variable schreiben. In C habe ich einen "int" -Typ, der nur 4 Bytes und nicht mehr als 10^11 ist.
So, ich habe nicht genug Speicher, um Zwischenergebnis bei der Konvertierung von Binär zu Dezimal speichern. Wie ich oben schrieb, bin ich nicht interessiert, dass Dezimal, ich möchte nur das Ergebnis drucken. Aber, ich sehe keine anderen Möglichkeiten, um es zu lösen ;-(Gibt es eine Lösung, um "nur" aus binären zu drucken?
Oder vielleicht sollte ich etwas wie BCD (Binary Coded Decimal) für die Zwischenrepräsentation verwenden ? Ich möchte das wirklich nicht verwenden, weil es nicht so plattformübergreifend ist (Intels Prozessoren haben eine eingebaute Funktion, aber für andere muss ich eine eigene Implementierung schreiben.)
Ich würde mich freuen .. C.
Nur eine Frage, wie ist diese Binärzahl gespeichert? –
Es ist nicht trivial, ein zufälliges Bit (oder eine Folge von vier Bits) in eine Dezimalziffer umzuwandeln. Der bekannteste Fall, in dem wir * dies * wünschen, ist der BPP-Algorithmus für pi: Sie können jedes Bit oder jede * hex * Ziffer berechnen, aber Sie können die Dezimalziffer nicht mit diesem Algorithmus erhalten (außer Du willst eine riesige Konvertierung machen) – Fixee