Dezimalzahl zerlegen zwei BIN Zahlen zu einer Dezimalzahl

OP #3832000
Lesenswert?
• ▲
▼
Hallo alle zusammen,

ich möchte gern eine Dezimalzahl (z.B. 12 ) in zwei 4 Bit Zahlen 
umrechnen. aber jetzt nicht das es so aussieht 00001100 = 12. Sondern:

zehner Stellen | einer Stellen
Dez          1 | 2
Bin       0001 | 0010

Zahl 65
Dez          6 | 5
Bin       0110 | 0101

und das ganze wieder zurück. Sprich, es werden 8 Bit ausgelesen und die 
ersten 4 Bits sind 10er und die letzten 4 Bits sind 1er stellen.

Wie könnte man das Softwaretechnisch realisieren?

Ich bedanke mich für eure Mühen und verbleibe

mit freundlichen Grüßen

Balou Baer
#3832005
Lesenswert?
• ▲
▼
OP #3832653
Lesenswert?
• ▲
▼
Noch eine Frage,

wie kann ich die Zahlen Maskieren?

Sprich, wenn die zehner nur zwischen 0 und 2 liegen kann und die einer 
zwischen 0 und 9?



einer=zahl%10;
zehner=(zahl-einer)/10;

einer &= 9;
zehner &= 2;

bin=(zehner<<4)+einer;

geht das so????


Danke für euere Hilfe

Mit freundlichen Grüßen

Balou Baer
OP #3832794
Lesenswert?
• ▲
▼
Joachim B. schrieb:

Das:
1
 return ((UBYTE)(((integer/10)<<4)+(integer%10)));

habe ich verstanden und bereits vom Vorredner übernommen ;) DANKE EUCH!


Was ich allerdings nicht richtig verstehe ist:
1
 return ((UBYTE)(((bcd>>4)*10)+(bcd&15)));

bsp: 00100101

bcd>>10 -> verschiebe bcd 4 Bits nach rechts (aus 0010 | 0101 wird 0000 
| 0010) richtig?
0010 entspricht der zahl 2 und diese wird mit 10 multipliziert was dann 
20 macht.
soweit richtig?

was jetzt aber bcd&15 bedeutet verstehe ich nicht, bzw. dieses &15. 
Vielleicht könntest du mir das noch einmal erklären.

Ich bedanke mich für deine Mühe und verbleibe

Mit freundlichen Grüßen

Balou Baer

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.