tokomplement er et system til at repræsentere negative binære tal . Det kan også bruges til at implementere subtraktion - at fratrække " A" fra "B" konvertere "A" til et negativt tal , og tilføj Dette sparer at skulle opbygge hardware til at tilføje og fratrække Så længe systemet til konvertering fra en. . binært tal til de to -komplement - og tilbage igen - tokomplement kan forenkle negativt tal repræsentation og subtraktion samt Konvertering fra to -komplement til decimal tager to trin: konvertere fra tos komplement til binær og derefter konvertere fra binær til decimal instrukser. .
1
repræsentere decimaler som binære tal ved løbende at dividere 2 ind i nummeret og indsamling reguleringslinjer . for eksempel for at konvertere 13 til binær, 13 dividere med 2 for at få 6 og første resten af 1. . Divide 2 ind 6 for at få 3 og anden resten 0 . Opdel 2 ind 3 for at få 1 og tredje resten af 1. . Divide 2 ind 1 for at få 0 og påmindelse om 1. . Resterne , i omvendt rækkefølge af produktionen , er 1101 og decimal 13 = binær 1101 . det er lettere at genkende et binært tal , end det er at producere det. Begyndende fra højre, tilføjer d X 2 ^ p hvor d er den binære ciffer og p er positionen , So 1101 = (1 x 1) + ( 0 x 2) + ( 1 x 4 ) + ( 1 x 8 ) = 13 .
2
Ændring fra binær til tos komplement ved at vende de bits og tilsætte 1 . Så binær 7 kunne være 00000111 og negative 7 ville være 11.111.001 fordi 00000111 vendt er 11.111.000 og 11.111.000 + 1 = 11.111.001 . længst til venstre ciffer er tegnet bit. Positive tal har en nul tegnbit og negative tal har en 1 tegn bit. en af de gode ting ved tos supplement er, at konvertere fra tos komplement til binær er nøjagtig den samme som processen som konverterer fra binær til to s kompliment. for eksempel for at konvertere tokomplement -7 til binær 7 , reverse cifrene og tilsæt 1 . 11.111.001 vendt er 00000110 og 00000110 + . 1 = 00000111
3
Konverter fra tos komplement til decimal i to trin: tokomplement til binær og derefter fra binær til decimal for eksempel at konvertere -21 i tos komplement - . 11101011 - til decimal , først konvertere det til binær og derefter konvertere den binære ind decimal .. Reverse 11101011 for at få 00010100 og tilsæt 1 for at få 00.010.101 , som er 21 i binær derefter afkode binære bruger positionelle notation for at få (0 X . 128 ) + ( 0 X 64 ) + ( 0 X 32 ) + (1 x 16 ) + ( 0 X 8 ) + ( 1 x 4) + ( 0 X 2 ) + (1 x 1 ) = 21 .