www.mikrocontroller.net

Forum: Offtopic wertebereich


Autor: paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

habe ein kleines problem und hoffe mir kann jemand helfen.
kann ich irgendwie eine zahl mit 10 bit in eine zahl mit 14 bit 
wertebreich umrechnen bzw. konvertieren?
mfg paul

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

Falls das nicht die gewünschte Antwort ist, dann erkläre mal genau was 
du vorhast, und vor allem mit welcher Programmiersprache o.ä.

Autor: paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es geht darum, eine can-botschaft zu verändern. diese soll empfangen 
werden, der enthaltene wert verändert werden und dann wieder verschickt 
werden. das problem ist jetzt, dass die empfangene zahl einen 10 bit 
wertebereich hat und der zu sendene wert 14 bit.
hoffe das hilft?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, dann fülle einfach die restlichen Stellen mit 0. Ob vorne oder 
hinten ist egal, du musst es nur beim Empfänger wissen und den Wert 
entsprechend weiterverarveiten.

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute mal, Du willst die Zahl mit 16 multiplizieren.
Das ist übrigens das selbe wie die Zahl um 4 Bits nach links schieben.
in C schaut das so aus:
out = in << 4;

oder  wenn es wieder auf "in" gespeichert werden soll:
in <<= 4;

Vorsicht bei negative Zahlen, da ist oft Schieben und Multiplizieren 
nicht das selbe.

Wertebereich 10 Bit: 0.. 1023
Wertebereich 14 Bit: 0..16383  also das 16-fache

Autor: EagleLEE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfachste Möglichkeit:
Annahme: ganze Zahlen (egal ob positiv oder negativ):
Die orderste Stelle (MSB) wird 4 mal vorne angehängt. Damit behalten die 
Zahlen ihren Wert...

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.