hay @all Ich habe eine Frage ich habe 2 INT Werte und möchte beide zusammen fassen. Bsp. "int zahl1=5;" "int zahl2=40;" ---------------- "int zahl3 540" Ergebniss soll also 540 sein. Wie Löse ich das am besten??? MFG: Fichte
Kenne Codevision zwar nicht, aber eigentlich sollte es dort auch so gehen: zahl3 = zahl1 * 100 + zahl2;
Das Vorgehen von Irgwer und Fichte ist total an der Praxis vorbei. Gehen wir von 32Bit für ein int aus. Dann nimmt man am besten jeweils 16Bit für die zwei Zahlen. Int16 zahl1, zahl2; Int32 zahl3; zahl1 = 5; // 0x05 zahl2 = 40; // 0x28 // zahl1 16Bit nach links schieben. untere 16Bit /7 durch zahl2 ersetzen. zahl3 = (zahl1 << 16) | zahl2; // zahl3 = 0x0528 Die Zahlen liegen jetzt sauber getrennt in zwei Registerhälften. Gruß Olaf
Hm, aber du bist der Praktiker?? int: 16bit Deine Rechnung 1320d, was ein wenig vom gewünschten Ergebnis abweicht.
Ich weiß leider nicht ob dieser code schneller läuft, oder nicht, aber es sollte definierter sein was passiert struct Tdint {char z1; charz2}; union Udint{int16 ges, Tdint einzeln}; Udint deineVariable; Udint.einzeln.z1 = 5 Udint.einzeln.z2 = 9 int a = Udint.ges; // in a steht jetzt hx0509 ob man einzeln dazuschreiben muss oder nciht, weiß ich grad nicht. aber das kann man sich ja in da doku zu union anschaun
Nein so meinte ich das nicht das war nur ein beispiel. Ich möchte gerne weg/zeit Rechnen die zeit habe ich im Format Stunde Minute Sekunde alle werte sind Einzelln Aufgeführt nun muss ich ja rechnen Zeit also zbs. 1:20 sind dann 120 und das dann noch mit dem weg berechnen. Rechnung: Durchschnitt=weg/zeit; bsp. Durchschnitt=10/120; MFG: Fichte
Ok, wenn du mit zeiten rechnest geht das so nicht du musst bedenken das 1h nicht gleich 100min sind also musst dus umrechnen zeit= min + h * 60; dann hast du aber minuten. nachdem du zeit entweder in m/s oder in km/h hast würde ich mir erst überlegen in was du rechnen willst. wenn du int nimmst, wohl eher in m/s also würde dein Durchschnitt sein min=10; h=0; zeit = min * 60 + h * 3600; weg = 1000;// Meter! Durchschnitt = weg / zeit; // Durchschnitt ist dann 100m/s
Also die Km/h möchte ich rechnen diesen wert habe ich auch und ich habe die Zeit nur das problem was ich hate war das ich Stunde und minute nicht zusammen ziehen konnte aber so geht es wie du es beschrieben hast. zeit = min * 60 + h; Durchschnitt = km / zeit; MFG: Fichte
wohl eher zeit = min + 60 * h (ergibt zeit in minuten) durchschnitt = km / (zeit / 60) (ergibt km/h)
Jo so hab ichs auch bzw. Hab ichs gesehen als du es geschrieben hast den die Rechnung ging nicht ganz auf.! MFG: Fichte
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.