Data operere på numeriske data ved hjelp av binære representasjoner av nummeret. En alternativ metode for overføring av tallene til prosessoren er å bruke binærkodet desimal ( BCD ) . BCD koder for et nummer ved å oversette hvert enkelt siffer i nummeret til en separat byte . Denne metoden har noen øvre grense på størrelsen av nummer overføres . På grunn av den ekstreme verdien for lagring i et datamaskin -system , ved hjelp av BCD sløser den øvre nibble (4- bits) av hver byte . Et system kalt pakket BCD løser dette problemet. I pakket BCD , inneholder hver bite av en byte ett siffer i nummeret kodet i binær notasjon. Du trenger
desimaltall
Vis flere instruksjoner
en
Bryt desimaltall du ønsker å kode inn pakket BCD notasjon i individuelle sifre. Ikke bland opp rekkefølgen av sifrene som som vil endre nummeret. For eksempel skriver 9341 i pakket BCD format . Bryt antallet ned i sine tall , beholder samme bestilling : 9 , 3, 4 og 1
2
Konverter første siffer fra høyre til binærkode . . Sifrene 0-9 er representert ved binære tall 0000-1001 . Dette blir de første fire biter av byte . Fortsetter eksempel konvertere desimal 1 til binær , 00000001 .
3
Konverter neste siffer i kø fra høyre i binær . Erstatte de første fire biter av byte , som alle er nuller , med den høyre fire bitene i den binære tall . Du har nå en enkelt byte som inneholder informasjon om en to - sifret nummer. En byte kodet som en pakket BCD kan representere desimaler fra 00 til 99. . Fortsetter eksempel, er det neste sifferet 4 . Omregnet til binær det er 00000100 . Bytt ut de siste fire biter med de fire første bitene av byte som inneholder det første nummeret. Place 0100 til første byte i de fire lengst til venstre posisjoner som resulterer i 01000001 . Dette byte representerer 41 i pakket BCD format .
4
Gjenta konvertering av tall og bygging av bytes på samme måte for de andre sifrene i desimaltall . Resultatet vil bli en serie av bytes som representerer noen desimaltall . Fullfører eksempel de to siste sifrene er tre og ni . Deres binære ekvivalenter er 00000011 og 00001001 . Sette disse sammen til en enkelt byte i riktig rekkefølge resultater i 10010011 . Pakket BCD for desimal 9341 er 10.010.011 01.000.001 .