toerkomplement er et system for å representere negative binære tall . Den kan også brukes til å implementere subtraksjon - å subtrahere "en" fra "B" konvertere "A" til et negativt tall og legge dette sparer måtte bygge maskinvare for å legge til og trekke Så lenge system for konvertering av et . . binære tall til toerkomplementet - og tilbake igjen - toerkomplement kan forenkle negativt tall representasjon og subtraksjon samt Konvertering fra toerkomplement til desimal tar to trinn: konvertere fra toerkomplement til binær og deretter konvertere fra binær til desimal Instruksjoner . .
en
representere desimaler som binære tall ved kontinuerlig å dele to inn nummeret og samling Restbeløp . for eksempel vil konvertere 13 til binær , dividere 13 med 2 for å få seks og første resten av en . Divide 2 til 6 for å få tre og andre resten 0 . Del 2 til 3 for å få en og tredje resten av en . Divide 2 til 1 for å få 0 og påminnelse om en . Restbeløp , i motsatt rekkefølge av produksjonen , er 1101 og desimaltall 13 = binær 1101 . det er lettere å gjenkjenne et binært tall enn det er å produsere den. Starter fra høyre, legg d X 2 ^ p der d er binære siffer og p er posisjonen , så 1101 = ( 1 X 1 ) + ( 0 x 2 ) + ( 1 x 4 ) + ( 1 x 8 ) = 13 .
2
Endring fra binære til toerkomplement ved å reversere biter og legge en . Så binær 7 kan være 00000111 og negative 7 vil være 11.111.001 fordi 00000111 reversert er 11111000 og 11111000 + 1 = 11111001 . lengst til venstre siffer er tegnet litt . Positive tall har har en null tegn bit og negative tall en en sign bit . en av de fine tingene med toere komplement er at konvertering fra toerkomplement til binær er akkurat det samme som prosessen som konverterer fra binære til to kompliment . for eksempel vil konvertere toerkomplement -7 til binær 7 , reversere sifre og tilsett 1 . 11111001 reversert er 00000110 og 00000110 + . 1 = 00000111
3
Konverter fra toerkomplement til desimal i to trinn: toerkomplement til binær og deretter fra binær til desimal for eksempel vil konvertere -21 i toerkomplement - . 11101011 - til desimal, først konvertere den til binære og deretter konvertere den binære inn desimal .. Omvendt 11101011 for å få 00010100 og legge til 1 for å få 00.010.101 som er 21 i binær deretter dekode binære hjelp av posisjonelle notasjon å 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 .