Oktal => Dezimal
-
Hallo,
ich habe eine char Variable:
char buff[] = "7674"
wie kann ich nun diese Oktale Zahl, die als char variable da ist, in eine Dezimale Zahl umwandeln? Also es in eine Integer Variable abspeichern?
MfG
-
Siehe FAQ - "Einmal String nach Zahl und zurück" (fast alle dort genannten Lösungansätze kommen auch mit oktalen und hexadezimalen Zahlen klar).
-
hi, ich hatte diese Übung analog zu binär so gemacht:
#include <iostream> #include <string> //... unsigned long i, z = 0; string buff = ("7674"); for ( i = 0; i < buff.length(); i++ ) z = 8 * z + (int)buff[i] - (int)('0'); cout << buff << "Q" << " = " << z << "D" << endl; // 7674Q = 4028DWichtig ist, dass man den ascii wert der '0' abzieht.
Mir ist noch eingefallen, dass es schneller geht mit Maskierung des high nibbels (Meinung des Tutors):
for ( i = 0; i < buff.length(); i++ ) z = 8 * z + ((int)buff[i]&0x0F);
vg tesu