Wie am besten 2x8bit in 16bit und danach in Dezimal umwandeln mit Bascom?

Gast #837218
Lesenswert?
• ▲
▼
Hallo,

ich bekomme über uart zwei mal 8bit, also zwei bytes zugesendet.

Daraus muss ich ein 16 bit byte herstellen. das geht ja indem man die 
binären zahlen von den zwei bytes zusammenzählt, also einfach 
hintereinander schreibt.

Wie mache ich dann aus den 16 bits eine Dezimalzahl?

Also theoretisch weis ichs ja, aber ich muss das in Bascom 
programmieren.

Kann mir da jemand ein paar tips geben?

Gibt es in Bascom einen Befehl, mit dem das umrechnen funktioniert?

Danke

Gregor
#837259
Lesenswert?
• ▲
▼
Gregor wrote:

> Daraus muss ich ein 16 bit byte herstellen. das geht ja indem man die
> binären zahlen von den zwei bytes zusammenzählt, also einfach
> hintereinander schreibt.

Was soll das Hintereinanderschreiben bewirken?
Garnichts.
Du mußt eine Operation durchführen:

wert = highbyte * 256 + lowbyte



> Wie mache ich dann aus den 16 bits eine Dezimalzahl?

Garnicht, Zahlen werden CPU-intern immer binär gespeichert.

Du mußt sie einfach nur ausgeben, dabei erfolgt automatisch die 
Umwandlung.


Peter
Gast #837291
Lesenswert?
• ▲
▼
Hallo Peter,

entschuldige ich bin noch Anfänger und verstehe das noch nicht wirklich.

Ich habe mir folgendes gedacht:

ich bekomme zb. 2 bytes (aus einem String) zugeschickt: 38 und 34

Die sind ja in Binär geschrieben: 00100110 und 00100010

Und wenn ich die zwei hintereinanderschreibe dann folgt 
0010011000100010.

Dies wiederum in Dezimal lautet:9762

Und genau dass muss ich irgendwie in Bascom realisieren.
Gast #837317
Lesenswert?
• ▲
▼
>ich bekomme zb. 2 bytes (aus einem String) zugeschickt: 38 und 34
>Die sind ja in Binär geschrieben: 00100110 und 00100010
>Und wenn ich die zwei hintereinanderschreibe dann folgt
>0010011000100010.
>Dies wiederum in Dezimal lautet:9762
>Und genau dass muss ich irgendwie in Bascom realisieren.

Mach genau das, was Peter Danneger geschrieben hat:

38*256 + 34 = 9762
Ich verstand dich so, dass du genau dieses Ergebnis haben willst.

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