BCD

Från Rilpedia

(Omdirigerad från Binary coded decimal)
Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

BCD är en engelsk förkortning och står för binary-coded decimal (binärkodad decimal) (även kallat NBCD, natural binary-coded decimal). BCD är ett sätt att representera tal i det decimala talsystemet som följder av ettor och nollor. Principen är att de tal som skall kodas delas in i decimala siffror (0-9) som sedan omkodas till motsvarande binära tal. Om den binära representationen av siffran har färre än fyra tecken (vilket gäller för siffrorna 0-7) fyller man på nollor framför det binära talet så det blir fyrställigt.

Fördelen med detta system är att det är lätt för en människa att skriva och läsa. Det räcker att lära sig tio koder för siffrorna 0-9, och sedan substituerar man systematiskt siffrorna i originaltalet med motsvarande koder.

Nackdelarna är två, dels blir ett BCD-kodat tal längre än motsvarande tal i ren binärform (detta på grund av att fyra ettor eller nollor kan ge upphov till sexton kombinationer medan endast tio av dessa används), dels blir lätt själva hanteringen av i grunden decimala tal i en maskin som bygger på binär aritmetik ineffektiv.

I vanliga fall håller en byte ett tal mellan 0 och 255 (28-1) men BCD-tal låter varje halv byte (nibble) hålla ett tiotal. Ett exempel:
53 i vanlig form ser ut som följer: 0011 0101 (32 + 16 + 4 + 1)
53 i BCD-format ser ut så här: 0101 0011 ( 4 + 1 och 2 + 1)

De flesta processorarkitekturer har instruktioner för att direkt hantera BCD-tal, till exempel Motorola M68k och Intel x86.

Koder

Decimalt BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Se även

Personliga verktyg