-
-
Erfahrener Benutzer
Roboter Experte
Ziffern aus einer Integer Variable "extrahieren"
Hi,
ich möchte zwei Ziffern aus einer Integer Variable extrahieren und in zwei Byte Variablen speichern. Also z.B: Integer Variable hat den Wert 123, dann möchte ich gerne in Byte1 den Wert 3 und in Byte2 den Wert 2 speichern.
Ich weiß leider nicht wie ich das machen soll. Mit dem Punktoperator darauf zugreifen geht net, da er dann das erste bzw. zweite Zeichen vom binären Wert und nicht vom dezimalen Wert der Zahl nimmt...
MfG
-
Erfahrener Benutzer
Robotik Einstein
Hallo,
Du könntest Die Zahl in einen String wandeln, und dann die Stelle die Du haben willst an der entsprechenden Stringposition herausholen
siehe dazu Bascom-Hilfe unter STR() !
-
Erfahrener Benutzer
Fleißiges Mitglied
Hallo,
du kannst mit der ganzahligen Division durch 10 bzw. 100 arbeiten (Ich weiß nicht, ob Bascom eine Rest-Operation mit modulo besitzt, das wäre noch einfacher). In deinem Beispiel mit a=123:
b=a\10 ergibt b=12
c=a - 10*b ergibt dann die letzte Stelle c=3
Andere Methode: Int bzw. frac (frac= Nachkommawert) benutzen:
b= a/10 ergibt b=12.3 , dann
c= frac(b) ergibt c=0.3
d= 10*c ergibt 3.
Spiel mal mit diesen Ideen, es geht sicher noch besser ...
-
Erfahrener Benutzer
Roboter Experte
Hi,
ich habs mit Modulo hingekriegt, danke für eure Hilfe.
Allerdings belegt die Berechnung 50% des Speichers meines TIny26 (macht aber nichts, da es im späteren Programm diese Berechnung nicht mehr geben wird, dient zur Zeit nur zu Debugzwecken).
MfG
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen