Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

 
(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&nbsp;0101<sub>bcd</sub> || 35<sub>h</sub> || 0010&nbsp;0011<sub>b</sub> || 23<sub>h</sub>
+
| 35 || 0011&nbsp;0101 || 35 || 0010&nbsp;0011 || 23
 
|}
 
|}
  
BCD-Zahlen, die man in hex notiert, sieht also genauso aus wie die Zahl in Dezimaldarstellung.
+
{{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-Nonation andere Rechenregeln gelten. Manche Rechner unterstützen auch das Rechnen mit BCD-Zahlen.
+
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]

Siehe auch


LiFePO4 Speicher Test