Hi, kann mir jemand von Euch erklären wie eine negative BCD-Zahl aussieht!? bei binär-zahlen gibt es ja die Möglichkeit das höchste Bit zu setzen oder das Komplement der Zahl zu berechnen - beides ist Möglich. Bei der BCD-Zahl ergibt für mich das bilden des 2er-Komplements keinen Sinn da aus den Zahlen 0-5 nachher a-f wird, und dann wäre es ja keine BCD- sondern eine binär Zahl!? - daher gehe ich davon aus, dass bei negativen BCD-Zahlen nur das MSB gesetzt wird, richtig?
Hallo, bei Siemens Step7 wird die Zahl um eine Stelle erweitert. Ist diese Stelle 0 ist die Zahl positiv ist diese Stelle=8 ist die Zahl negativ. Es wird also Vorzeichen und Betrag dargestellt. http://www.sps-lehrgang.de/bcd-code/ Gruß
Eine BCD Zahl ist keine Zahl in dem Sinne, sondern nur die Darstellung einer Ziffer.
dass es nur die Darstellung einer Ziffer ist weiß ich - nur war eben nicht klar wie ich neg. Ziffern ausdrücke! Danke @ Walter Selg das war's was ich gesucht habe!
Wenn Du packet-BCD meinst, dann geht das nicht. Du bräuchtest 20 Codes, ein Nibble hat aber nur 16. Du mußt also ein extra Bit dafür reservieren. Aber packet-BCD hat keinerlei praktische Bedeutung mehr, kannst also tun und lassen damit, was Du willst. Zahlen werden üblicher Weise binär (8, 16, 32 oder 64 Bit) bzw. als float (32, 64 oder 80 Bit) dargestellt. Binär stellt man negative Zahlen immer als 2-er Komplement dar, damit Addition, Subtraktion und Multiplikation direkt ausgeführt werden können. Nur die Division benötigt eine extra Vorzeichenbetrachtung. Die Multiplikation benötigt nur dann eine Vorzeichenbetrachtung, wenn die doppelte Breite des Produkts genutzt wird. Peter
Hi Leute, ich muß mich im Rahmen eines Projektes genauer mit dem Rechen im BCD-Code befassen. Frage kann mir jmd einen Tipp bspw. gutes Buch oder einen Link empfehlen. Danke.
www.google.de ist ganz hilfreich. oder das hier: http://www.coberweis.de/DV-Einfuehrung.doc Da BCD eigentlich nur die Nibble- oder byteweise Darstellung von Dezimalziffern ist, ist z.B. die Addition damit nichts anderes als eine normale dezimale Addition. Wenn ein Überlauf auftritt (von 9 nach 10), gibts halt einen Übertrag in die nächste Stelle. Eine allgemeinverbindliche Definition von Vorzeichen, Kommas, usw. gibt es auch nicht, was das Rechnen nochmal vereinfacht :-) Oliver
Jens wrote: > Hi Leute, > ich muß mich im Rahmen eines Projektes genauer mit dem Rechen im > BCD-Code befassen. Frage kann mir jmd einen Tipp bspw. gutes Buch oder > einen Link empfehlen. > Das lustige daran ist, dass du im Grunde schon dein ganzes Leben lang in BCD rechnest :-) (OK, nicht dein ganzes Leben lang, sondern erst seitdem du in die Grundschule gekommen bist) Ein Byte hat 8 Bit. Das kann man in 2 Teile mit jeweils 4 Bit unterteilen, den sog. Nibbles. Jedes Nibble kann 16 Zustände annehmen. Davon werden aber nur 10 Zustände für die Ziffern 0 bis 9 benutzt. In einem Byte wird also so gezählt BCD binäre Repräsentierung 00 00000000 01 00000001 02 00000010 03 00000011 04 00000100 05 00000101 06 00000110 07 00000111 08 00001000 09 00001001 10 00010000 11 00010001 12 00010010 ...... 43 01000011 44 01000100 45 01000101 .... 97 10010111 98 10011000 99 10011001 Ende. Mehr geht mit einem Byte nicht. Jedes Nibble repräsentiert also eine Ziffer von 0 bis 9. Mit einem Byte kann man also im Grunde das machen, was in der Grundschule 'Rechnen im Zahlenraum bis 100' heist. Rechnen mit größeren Zahlen funktioniert genau gleich, so wie du es in der Grundschule mit Papier und Bleistift gelernt hast. Das ist im Grunde schon so ziemlich alles, was man über BCD wissen muss, um damit was machen zu können. Für negative Zahlen muss man sich noch was ausdenken. Am einfachsten ist es, das Äquivalent zum binären 2-er Komplement zu benutzen: Alle Zahlen größer als zb. 49 sind negative Zahlen, wobei die 99 einer -1 entspricht. -5 + 8 = 3 wird dann zu 95 + 8 = (1)03
> dass es nur die Darstellung einer Ziffer ist weiß ich - nur war eben > nicht klar wie ich neg. Ziffern ausdrücke! Was soll denn eine negative Ziffer überhaupt sein? Das ergibt doch keinen Sinn. Eine negative Zahl ist ein Vorzeichen "-" mit beliebig vielen Ziffern. Eine positive Zahl ist ein Vorzeichen "+" mit beliebig vielen Ziffern. Die Ziffern sind aber immer die gleichen... MfG, Heiko
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.