Hexadezimal*Dezimal=Hexadezimal
-
Ich kenne zwar deine genaue Problemstellung nicht, daher kannn ich dir auch nur sagen wie ich es jetzt aus dem Stegreif machen würde.
Also ich würde die Hexadezimale Zahl ins Dezimalformat umwandeln, dann mit dem dezimalen Faktor multiplizieren und das Ergebnis wieder in das Hexadezimalformat umwandeln.
#include <iostream> using namespace std; int main() { unsigned int var1 = 0x000002; unsigned int var2 = 9; cout << var1 << " * " << var2 << " = " << dec << var1 * var2 << " (Dezimal)" << endl; cout << hex << var1 << " * " << var2 << " = " << hex << var1 * var2 << " (Hexadezimal) " << endl; return 0; }
Keine Ahnung, ob es das ist, was du suchst. Wenn nicht, bitte nochmal genauer beschreiben...
Caipi
//edit1: Zu spät... Aber was ist denn bitte SO unhöflich in pint's Post? Abgesehen vom letzten Satz, finde ich den Post ok.
Aber imho hätte der Letzte Satz "Vielleicht wisst ihr ja, wie ich dies bewerkstelligen kann, ich komm einfach nicht drauf. Danke im voraus!" heißen müssen.//edit2 + 3: *unschuldigpfeif*
-
danke erstmal für die Lösung.
Ich weis ja nicht was euere dummen Bemerkungen hier suchen?!
Die frage war doch ganz einfach (hex)Zahl*(dez)zahl2=(hex)zahl3
hielt das für ne ziemlich triviale Sache... habe aber nichts Gescheites gefunden. da hoffte ich halt drauf, dass mir das jemand von euch sagen könnte...
Aber 2/3 der antworten sind einfach unsinnig und bringen niemandem was ausser eurem Ego oder wer weis was....
-
pint schrieb:
danke erstmal für die Lösung.
Ich weis ja nicht was euere dummen Bemerkungen hier suchen?!
Die frage war doch ganz einfach (hex)Zahl*(dez)zahl2=(hex)zahl3
hielt das für ne ziemlich triviale Sache... habe aber nichts Gescheites gefunden. da hoffte ich halt drauf, dass mir das jemand von euch sagen könnte...
Aber 2/3 der antworten sind einfach unsinnig und bringen niemandem was ausser eurem Ego oder wer weis was....dies ist aber kein HA forum...
zumal ist es nicht zuviel verlangt, dass man sich erstmal selber etwas überlegt... wenn es am programmieren hackt, ist es nicht so schlimm... hauptsache man hat erstmal eine (eigene) idee.... wenn man die gepostet hat und dann sagt, wo man nicht weiter kommt, dann wird gerne geholfen...
-
geh heute besser mal früh ins bett du bist etwas gereizt wie ich finde! statt deinem sinnlosem Gesülze hättest du mir das auch gleich am Begin nebenbei sagen können statt so ein rissen Drama draus zu machen... geh wohl lieber in mein altbewährtes Forum Hilfe suchen.
-
okay liegt an den klausuren, die ich in dieser woche geschrieben habe... sollte mich vielleicht wirklich ein bisschen abregen, aber du warst gerade in der nähe
-
Da muss ich leech zu 99,9& zustimmen, aber ich poste die Lösung lieber mal, weil ich in eine Ähnliche Lage kommen könnte, dass ich dringend hilfe brauche und ich dann nicht will, dass ich wie Gelachmeiert daastehe...
Trotzem ist das auf DAUER! nicht richtigGruß eXitus :xmas1:
-
eXitus schrieb:
#include <iostream> using namespace std; int main () { int hexazahl = 0x10; int mahlnehmer = 16; // Ich würde hier eher * nehmen :-) hexazahl = hexazahl * mahlnehmer; cout << "0x" << hex << hexazahl << ", " << dec << hexazahl << endl; return 0; }
Caipi
-
dann haben wir uns ja verstanden :xmas1:
2. Versuch.
ich muss folgenden hex- wert übergeben:
test.draw(0,txt,0xFFFFFFFF)
Den 3. wert "0xFFFFFFFF" muss ich jedoch zuerts noch mit einem Faktor multiplizieren. Jedoch habe ich keine Ahnung, wie ich das anstellen kann...
Man könnte natürlich eine methode DezToHez oder so schreiben, nur frage ich mich ob das ganze nicht etwas einfacher zu bewältigen ist.
Hat jemand von euch eine Idee, wie das einfach zu lösen ist?
-
Gut, dass du mein Programm einfach nochmal reinkopiert hast ohne ein Kommentar dazu abzugeben?? ...Ich hab doch gesagt AUF DAUER, oder warum hast du ihn einfach nochmal kopiert?
Gruß eXitus
-
Hi,
ich weiss nicht, was das Ganze hier überhaupt soll. Es ist in C völlig unerheblich, ob ich einen Integer mit i=0x10 oder i=16 initialisiere. Beides sind Integer und wenn man sie multipliziert, wird wieder ein Integer herauskommen. Diesen kann ich dann natürlich wieder im Hexformat ausgeben, oder dezimal oder whatsoever, das ändert aber nicht die interne Darstellung, die eh binär erfolgt.
-
Zuletzt bearbeitet von eXitus am 2004-12-17 18:16, insgesamt 7-mal bearbeitet
Respekt eXitus! Wie hast du denn das geschafft? Mein bisheriger Rekord liegt bei 4 oder so.
@pint
Kann toriho nur zustimmen. Du hast ein Problem, welches du eigentlich gar nicht hast. Wichtig sind nur die Typen, Bspint a = 0x10, b = 20; std::cout << a * b;
Der Ausdruck a * b liefert einen Wert vom Typ int, da a und b nunmal ints sind. Dezimal oder hexadezimal sind ja nur Darstellungsformate und haben mit dem Wert erstmal nichts zu tun, Bsp
int a = 020; // oktal int b = 16; // dezimal int c = 0x10; // hexadezimal
Allen 3 Variablen wurde ein Wert in einem anderen Format zugewiesen, letztendlich haben aber alle 3 den gleichen Wert.
In welchem Format ein Wert dargestellt wird, ist erst dann interessant, wenn du String <-> Integer Konvertierungen durchführst.
-
groovemaster schrieb:
Zuletzt bearbeitet von eXitus am 2004-12-17 18:16, insgesamt 7-mal bearbeitet
Respekt eXitus! Wie hast du denn das geschafft? Mein bisheriger Rekord liegt bei 4 oder so.
Ich wusste nur net, ob ich das Programm jetzt posten soll oder nicht *gg*. Mai Gott war ich gestern dumm drauf lol, wenn ich jetzt drüber nachdenke muss ich lachen...
Gruß eXitus :xmas1: