2 stellige Zahl zerteilen

Gast #995786
Lesenswert?
• ▲
▼
Hallo Leute,

ich suche eine Idee um eine 2 stellige Variable (vom DS18S20) zu 
zerteilen und in 2 einzelne Variablen (1stellig) zu speichern.

Ich will von einem DS18S20 die Temperatur lesen (klappt soweit) und sie 
auf ein 2stelliges 7Segment Display jeweils über 2 BCD zu Sieben Segment 
Decoder ausgeben.

Ich hätte mir folgendes überlegt:

Temperatur / 10 = Zehnerstelle

Temperatur - (10*Zehnerstelle) = Einerstelle
#995792
Lesenswert?
• ▲
▼
Das geht, falls deine Temperatur eine Integer Variable ist.

z.B

int Temperatur =74 ;
int Zehnerstelle;
int Einerstelle;

Zehnerstelle = Temperatur / 10 ;  (Ergebnis = 7, da keine 
Nachkommastellen bei Int. gehen.)

Einerstelle = Temperatur - (10* Zehnerstelle) ;  ( Ergebnis = 4)


oder mit modulo arbeiten
#995795
Lesenswert?
• ▲
▼
Wenns schon BCD ist, kannst ja auch bisschen maskieren und shiften:

Zehner = (Variable & 0xF0) >> 4;
Einer = Variable & 0x0F;

wenn du übrigens die Einerstelle berechnen willst, kannst du auch den 
Modulo-Operator verwenden:

Einer = Temperatur % 10.

Schönen Gruss

Mist - Johannes, warst schneller :-D
Gast #995801
Lesenswert?
• ▲
▼
Danke für eure Antworten das Forum hab ich schon durchsucht und auch 
schon einen Thread gefunden wegen einer 4er Stelle.

Da ich vorhin erst nach endlosen Ausprobieren meinen Temperatursensor 
fertig habe und die 7 Segmentdisplays auch werd ich morgen dann erst das 
ganze zusammenfügen.
#995967
Lesenswert?
• ▲
▼
Patrick wrote:
> k.A. zumind. meine einfachen Rechnungen müssten doch ähnlich sein?
Wieso müssten die das? Ich weiß nicht, ob BASCOM für die 
Modulo-Operation auch den %-Operator verwendet, aber die 
Wahrscheinlichkeit, dass es das nicht tut, ist groß! Und in Assembler 
sieht das sowieso ganz anders aus. Und genau deshalb ist es essentiell 
wichtig, dass man die Programmiersprache angibt!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.