Bascom - Variablen handling

#1801567
Lesenswert?

Hallo,
ich muß aus einer 3 Stelligen Numerischen Variablen nacheinander die 
Zahlen haben, also 1er, 10er und 100er - Stellen getrennt voneinander.
Im Moment mach ich das über Num.Variable in String wandeln dann Stelle n 
extrahieren und wieder in eine Num.Variable zurück wandeln.

Geht das auch anders? einfacher, vor allem aber schneller?
Gast #1801571
Lesenswert?

zählen der Einer-, Zehner- und Hunderter-Stellen???

z.B. ZAHL=365

subtrahiere solange 100 von ZAHL, bis ZAHL kleiner 100 - gibt 3
subtrahiere solange 10 von REST, bis REST kleiner 10 - gibt 6
bei der Einer-Stelle brauchst du nix machen - 5 :-)

so schwer?
#1801581
Lesenswert?

Das es so auch geht war mir schon klar, sollte aber noch schneller sein 
da der uC wirklich beschäftigt ist, hatte gehofft das Bascom das direkt 
kann.

Das ganze ist ein workaround um auf einem LCD mit T6963 große Zeichen 
(16x16 Pixel) verwenden zu können: zB. Var = 295 = 1: 2.bgf, 2: 9.bgf , 
3: 5.bgf.

werd jetzt mal schaun ob das wirklich schneller ist als die str() 
Methode

Danke für die schnelle Antwort
Gast #1801618
Lesenswert?

Ist das Dezimalsystem wirklich sooooo schwer?
1
EINER = ZAHL MOD 10
2
ZAHL = ZAHL \ 10
3
ZEHNER = ZAHL MOD 10
4
ZAHL = ZAHL \ 10
5
HUNDERTER = ZAHL

oder
1
HUNDERTER = ZAHL \ 100
2
ZEHNER = (ZAHL MOD 100) \ 10
3
EINER = ZAHL MOD 10

oder ...
Gast #1801761
Lesenswert?

Dann schau selbst ins Bascom-Manual. Laut Seite 252 ist der '\' der 
Integerdivisionsoperator und 'MOD' der Integermodulooperator (man was 
für Wörter :).
Und um durch 10 dividieren zu können und zu wissen wie man bei einer 
ganzzahligen Division mit einem Rest umgeht, bist Du mit Deiner 
Realschule eigentlich schon überqualifiziert. Das lernt man 
normalerweise irgendwo zwischen 2. und 4. Klasse noch vor den 
gebrochenen Zahlen.

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