2 int werte in einen int wert Codevision

Gast #268446
Lesenswert?

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
Gast #268448
Lesenswert?

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
Gast #268449
Lesenswert?

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
Gast #268450
Lesenswert?

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
Gast #268451
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren