Binary-coded decimal: Difference between revisions

Content deleted Content added
*changed 'nybbles' to 'nibbles'
 
m Automated conversion
Line 1:
'''Binary coded decimal''' (BCD) is a way of encoding numbers in computer memory. In BCD, numbers are represented as decimal digits, and each digit is represented by four [[bit]]s:
 
<blockquote><tt>
 
Digit Bits Digit Bits<br>
 
'''0''' 0000 '''5''' 0101
 
'''1''' 0001 '''6''' 0110
 
'''2''' 0010 '''7''' 0111
 
'''3''' 0011 '''8''' 1000
 
'''4''' 0100 '''9''' 1001
 
</tt></blockquote>
 
To encode a number such as 127, then, one simply encodes each of the decimal digits as above, giving (0001, 0010, 0111).
 
 
 
Since most computers store data in eight-bit [[byte]]s, there are two common ways of storing four-bit BCD digits in those bytes: either one can simply ignore the extra four bits of each byte, usually filling them with zero bits or one bits (as in [[EBCDIC]]); or one can store two digits per byte, called "packed" BCD. Thus the number 127 would be represented as (11110001, 11110010, 11110111) in EBCDIC; or as (00000001, 00100111) in packed BCD (with a leading zero added).
 
While BCD is wasteful (3/8 of the available memory is wasted, even in packed BCD), it has a direct correspondence to the [[ASCII]] character set if the BCD number is prepended or OR'd with 00110000 (decimal 48), and large numbers can easily be displayed on 7-element displays by splitting up the [[nibblesIntegral data type|nybbles]] and sending each to a different character (the individual characters often have the wiring to display the correct figures). The [[BIOS]] in PCs usually keeps the date and time in BCD format, most probably for historial reasons.
 
 
While BCD is wasteful (3/8 of the available memory is wasted, even in packed BCD), it has a direct correspondence to the [[ASCII]] character set if the BCD number is prepended or OR'd with 00110000 (decimal 48), and large numbers can easily be displayed on 7-element displays by splitting up the [[nibbles]] and sending each to a different character (the individual characters often have the wiring to display the correct figures). The [[BIOS]] in PCs usually keeps the date and time in BCD format, most probably for historial reasons.