Binäre Zahl aufteilen

Gast #93220
Hallo zusammen

Ich möchte eine binäre Zahl aufteilen. Dazu am besten ein Beispiel:

Anfangszustand:
Binäre Zahl   Dezimale Zahl
01000101       69

Endzustand:
Binäre Zahlen   Dezimale Zahlen
0110   1001     6      9

Wie kann ich das am besten auf einem PIC16f84 in Assembler
realisieren?

Dank + Gruss
Patrick Gubelmann
Gast
Also ich kenn mich mit dem Befehlssatz von PIC's nicht wirklich aus und
weiß auch nicht ob es da eventuell nen befehl für gibt, aber ich hätte
hier ne Alternative:

Um z.B. das low nibble raus zu filtern könntest du dein byte und
00001111 UND verknüpfen.
Und für das high nibble ne UND verknüpfung mit 11110000 und
anschließend 4 mal rechts schieben, dann müßtest du es haben.
Gast
nö, so wird das nichts. Er will ja aus einer Dualzahl eine gepackte
BCD-Zahl machen.
Entweder mehrfach 10 subtrahieren (dabei die Anzahl der Subtraktionen
zählen, ergibt dann das high-nibble) oder die Zahl mit 10 dividieren,
den Qutienten dann ins high-nibble schreiben, der Rest der Division
ergibt das low-nibble.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.