(→Siehe auch) |
|||
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
!|dezimal || BCD (binär) || BCD (hex) || binär || hex | !|dezimal || BCD (binär) || BCD (hex) || binär || hex | ||
|- align="center" | |- align="center" | ||
− | | 35 || 0011 0101 | + | | 35 || 0011 0101 || 35 || 0010 0011 || 23 |
|} | |} | ||
− | BCD-Zahlen, die man in hex notiert, | + | {{FarbigerRahmen| |
+ | BCD-Zahlen, die man in hex notiert, sehen also genauso aus wie die Zahl in Dezimaldarstellung. | ||
+ | }} | ||
− | Zu beachten ist, daß für Zahlen in BCD- | + | Zu beachten ist, daß für Zahlen in BCD-Notation andere Rechenregeln gelten. Manche Rechner unterstützen auch das Rechnen mit BCD-Zahlen. |
'''Beispiel:''' | '''Beispiel:''' | ||
Zeile 23: | Zeile 25: | ||
;BCD-Darstellung: 39<sub>h</sub>+1 = 40<sub>h</sub>. Umgerechnet nach Dezimal wird das zu 57+1 = 64 | ;BCD-Darstellung: 39<sub>h</sub>+1 = 40<sub>h</sub>. Umgerechnet nach Dezimal wird das zu 57+1 = 64 | ||
+ | =Umrechnung= | ||
+ | Umrechnung für eine zweistellige Zahl x von 0...99: | ||
+ | x_bcd = 16*(x div 10) + (x mod 10) | ||
+ | x = 10*(x_bcd div 16) + (x_bcd mod 16) | ||
+ | |||
+ | Dabei steht <tt>div</tt> für Ganzzahl-Division und <tt>mod</tt> für den Rest der Division (modulo). Allgemein: | ||
+ | |||
+ | <math> | ||
+ | x_{\mathrm{bcd}} = \sum_{n=0}^\infty 16^n \cdot ((x \,\operatorname{mod} \,10^{n+1}) \,\operatorname{div} \,10^n) | ||
+ | </math> | ||
+ | |||
+ | |||
+ | <math> | ||
+ | |||
+ | x = \sum_{n=0}^\infty 10^n \cdot ((x_{\mathrm{bcd}} \,\operatorname{mod} \,16^{n+1}) \,\operatorname{div} \,16^n) | ||
+ | </math> | ||
+ | |||
+ | =Siehe auch= | ||
+ | * [[avr-gcc#libgcc2 verwenden|C-Code Beispiel für BCD-Umrechnung mit avr-gcc]] | ||
[[Kategorie:Abkürzung]] | [[Kategorie:Abkürzung]] | ||
[[Kategorie:Grundlagen]] | [[Kategorie:Grundlagen]] |
Aktuelle Version vom 4. Januar 2006, 10:44 Uhr
BCD steht für "binary coded decimal" bzw. "binär codierte Dezimalzahl".
Bei der BCD-Codierung wird nicht die ganze Zahl binär dargestellt, sondern nur die einzelnen Ziffern werden binär dargestellt.
Beispiel:
Die Zahl 35 hat die BCD-Darstellung 0011 0101bcd
dezimal | BCD (binär) | BCD (hex) | binär | hex |
---|---|---|---|---|
35 | 0011 0101 | 35 | 0010 0011 | 23 |
BCD-Zahlen, die man in hex notiert, sehen also genauso aus wie die Zahl in Dezimaldarstellung.
Zu beachten ist, daß für Zahlen in BCD-Notation andere Rechenregeln gelten. Manche Rechner unterstützen auch das Rechnen mit BCD-Zahlen.
Beispiel:
- Dezimal
- 39+1 = 40
- BCD-Darstellung
- 39h+1 = 40h. Umgerechnet nach Dezimal wird das zu 57+1 = 64
Umrechnung
Umrechnung für eine zweistellige Zahl x von 0...99:
x_bcd = 16*(x div 10) + (x mod 10)
x = 10*(x_bcd div 16) + (x_bcd mod 16)
Dabei steht div für Ganzzahl-Division und mod für den Rest der Division (modulo). Allgemein:
[math] x_{\mathrm{bcd}} = \sum_{n=0}^\infty 16^n \cdot ((x \,\operatorname{mod} \,10^{n+1}) \,\operatorname{div} \,10^n) [/math]
[math]
x = \sum_{n=0}^\infty 10^n \cdot ((x_{\mathrm{bcd}} \,\operatorname{mod} \,16^{n+1}) \,\operatorname{div} \,16^n)
[/math]