Datorer verka på numeriska data med binära representationer av numret . En alternativ metod för att överföra tal till processorn är att använda Binary Coded Decimal (BCD) . BCD kodar ett nummer genom att översätta varje enskild siffra i numret i en separat byte . Denna metod har ingen övre gräns för storleken av överförd nummer. På grund av den extrema värdet av lagring i ett datorsystem , med användning av BCD slösar den övre nibble ( fyra bitar ) av varje byte . Ett system kallat packad BCD löser detta problem . I packad BCD, innehåller varje bitgrupp av en byte en siffran i antalet kodade i binär notation . Saker du behöver
Decimaltal
Visa fler instruktioner
1
Bryt decimaltal du vill koda in packad BCD notation i enskilda siffror . Förväxla inte ordningen på siffrorna som kommer att ändra antalet . Till exempel skriver 9341 i packad BCD -format . Bryt antalet ned i sina siffror , behålla samma beställning : 9 , 3 , 4 och 1
2
Konvertera den första siffran från höger till binär kod . . De siffrorna från 0 till 9 representeras av de binära talen 0000-1001 . Detta blir de första fyra bitarna i bitgruppen . Fortsatt exempel , konvertera decimalt 1 till binärt , 00000001 .
3
Konvertera nästa siffra i linje från höger till binär . Byt ut de första fyra bitarna i bitgruppen , som alla är nollor , med längst till höger fyra bitarna i det binära talet . Du har nu ett enda byte som innehåller information om ett tvåsiffrigt tal . Ett byte kodas som en packad BCD kan representera decimaler från 00 till 99 . Fortsatt exempel , är nästa siffra 4 . Omräknat till binärt är 00000100 . Ersätt sista fyra bitarna med de första fyra bitarna i byten innehåller det första numret . Placera 0100 in den första byten i de fyra längst till vänster positionerna resulterar i 01000001 . Detta byte representerar 41 i packad BCD -format .
4
Upprepa omvandlingen av siffror och konstruktion av byte på samma sätt för de övriga siffrorna i decimaltal . Ditt resultat kommer att bli en serie av bytes som representerar något decimaltal . Slutföra exempel de två sista siffrorna är 3 och 9 . Deras binära motsvarigheterna är 00000011 och 00.001.001 . Att sätta samman dessa till en enda byte i rätt ordning resulterar i 10.010.011 . Den packade BCD till decimal 9341 är 10.010.011 01.000.001 .