Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 03.06.2005, 18:00 Titel: Zahl splitten |
|
|
Hallo!
Ich programmiere derzeit an einem Microcontroller, der über eine Art BASIC-Dialekt verfügt,
aber dummerweise Strings/Stringmanipulation und klassische BASIC-Befehle wie int() komplett ablehnt.
Mein Problem ist das folgende:
Ich möchte eine Zahl in Zehner und Einer umwandeln, und habe mir das für die Einer so gedacht:
Code: |
einer = zahl mod 10
|
Für die Zehner habe ich zwei Varianten:
Code: |
zehner = int(zahl / 10)
' oder
zehner = zahl \ 10
|
aber es werden vom Controller sowohl int() als auch \ nicht unterstützt.
Daher meine Frage: Wie kann ich das ohne diese Befehle realisieren?
Danke im Vorraus,
jb |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 03.06.2005, 18:48 Titel: |
|
|
Bist du dir denn sicher das die Berechnung als Fließkommaberechnung ausgeführt wird?
Falls nicht kommt ja automatisch ne Integer dabei raus. Falls doch klappt bei dem Dialekt vielleicht trotzdem folgendes:
zehner = zahl / 10
zumindest dann wenn du die Variable "zehner" als INTEGER definierst. Das ist so ähnlich wie in BlitzBasic einen String in eine Zahl umwandeln. Dort kann man einfach schreiben:
MeineZahl = "20"
Da MeineZahl als Integer definiert ist wird der String automitisch umgewandelt.
Vielleicht klappt's ja. _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 03.06.2005, 19:53 Titel: |
|
|
Hallo
Wenn es sich um die C-Control handelt - die rechnet in der Tat sowieso nur mit Integer.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 03.06.2005, 21:48 Titel: |
|
|
@Skilltronic: Ja, du hast Recht. Für den Anfang nimmt man lieber mal was einfacheres.
Das keine Fließkommaberechnung vorliegt, habe ich mittlerweile auch rausgefunden.
Da war ich wohl wieder zu schnell dabei.
Trotzdem danke für die Antworten!
jb |
|
Nach oben |
|
 |
DonCamillo
Anmeldungsdatum: 05.06.2005 Beiträge: 4
|
Verfasst am: 05.06.2005, 22:57 Titel: |
|
|
Du könntest es natürlich auch etwas arg primitiv machen... kommt halt drauf an wie groß die zahlen sind die du erwartest.
Code: |
FUNCTION zehner(zahl, faktor)
IF zahl >= 10 then faktor = zehner (zahl-10, faktor+1)
zehner = faktor
END FUNCTION
|
Bei einem Microrontroller würd ichs vielleicht ohne Rekursion machen, da die ja bekanntlich nicht so viel Stack haben
edit:
ooops... zu spät gesehen, dass sich das problem schon gelöst hat  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 06.06.2005, 17:24 Titel: |
|
|
Außerdem gibt's da gar keine FUNCTIONs.
CCBasic heißt die Sprache, und durch die wird jeder Programmierer in
die Anfangszeit von BASIC, sprich GW-Basic zurückgesetzt.
(Der Spaghetticode lebe hoch )
jb |
|
Nach oben |
|
 |
|