Det decimala numeriska systemet har tio möjliga värden (0,1,2,3,4,5,6,7,8 eller 9) för varje platsvärde. Detta står i kontrast till det binära numeriska systemet som bara har två möjliga värden, ofta representerade av en 0 eller en 1, för varje platsvärde. För att undvika förvirring när du använder dessa olika numeriska system, anges basen för varje enskilt nummer ofta genom att skriva det i subscript. Till exempel kan decimaltalet 156 betecknas som 15610 och läses som "hundra femtiosex, bas tio". Det binära numret 10011100 kan betecknas som "bas två" genom att skriva det som 100111002. Eftersom det binära systemet är det interna språket för elektroniska datorer bör seriösa programmerare veta hur man konverterar decimaler till binära och vice versa. Så här gör du.
Steg
Metod 1 av 3: Att välja en konverteringsmetod
- Kort division med två med resten (lätt för nybörjare).
- Jämförelse med avtagande potens av två och subtraktion.
Metod 2 av 3: Metod ett: Dividera med två med resten
Denna metod är mycket lättare att förstå när den visualiseras på papper. Den förutsätter bara division med två.
1.
Utformning av problemet. I det här exemplet, låt oss ta decimaltalet 156
10 konvertera till binär.
- Skriv decimaltalet som utdelningen upp och ner "lång division" symbol.
- Skriv basen för respektive system (i vårt fall "2" för binär) om divisorn är utanför kurvan för divisionssymbolen.
2. Skriv heltalssvaret (kvoten) under den långa divisionssymbolen och skriv resten (0 eller 1) till höger om utdelningen.
I grund och botten, om utdelningen är ett jämnt tal, blir den binära återstoden 0; om utdelningen är udda blir den binära återstoden 1.3. Fortsätt ner, dela varje ny kvot med två och skriv resten till höger om varje utdelning. Stoppa när kvoten är 0.
4. Börja med den nedersta resten, läs sekvensen av rester uppåt. För det här exemplet bör du nu ha 10011100. Detta är den binära motsvarigheten till decimaltalet 156. Eller, skrivet med subscript: 15610 = 100111002
Denna metod kan anpassas till decimaler upp till varje notation att konvertera. Divisorn är 2 eftersom det önskade formatet är. Om det önskade resultatet är ett annat format, ersätt 2 i metoden med önskat format. Till exempel, om det önskade resultatet är notationen 9, ersätt 2 med 9. Det önskade resultatet blir då i rätt format.Metod 3 av 3: Metod två: Jämförelse med tvåans förminskande potens och subtraktion.
1. Skriv ner krafterna av två i ett "binärt talsystem" från höger till vänster. Börja vid 2, utvärdera som "1". Multiplicera exponenten med 1 för varje potens. Listan, upp till tio element, ska se ut så här. 512, 256, 128, 64, 32, 16, 8, 4, 2, 1
2. Hitta den största kraften som passar talet du vill konvertera till binärt. I det här exemplet konverterar vi decimaltalet 15610 till binär. Vilken är den största kraften som passar i 156? Eftersom 128 passar skriver vi en 1 som den binära siffran längst till vänster och vi subtraherar 128 från decimaltalet, 156. Du har nu 128.
3. Fortsätt till nästa lägre potens av två. Passar 64 till 28? Nej, så skriv en nolla före nästa binära siffra till höger.
4. Passar 32 till 28?Nej, så skriv en 0.
5. Passar 16 till 28?Ja, så skriv en 1 och subtrahera 16 från 28. Nu är det 12 kvar.
6. Passar 8 i 12?Ja, så skriv en 1 och subtrahera 8 från 12. Du har nu 4 kvar.
7. Passar 4 (potens av två) till 4 (decimal)?Ja, så skriv en 1 och subtrahera 4 från 4.Det är nu 0 kvar.
8. Passar 2 i 0?Nej, så skriv en 0.
9. Passar 1 till 0?Nej, så skriv en 0.
10. Skriv det binära svaret. Eftersom det inte finns fler krafter av två i listan är du klar. Du bör nu ha 10011100. Detta är den binära motsvarigheten till decimaltalet 156. Eller, skrivet med subscript: 15610 = 100111002
Om du upprepar den här metoden kommer du att memorera krafterna av två, vilket gör att du kan hoppa över steg 1.Tips
- Att konvertera åt andra hållet, från binär till decimal, är ofta lättare att lära sig först
- öva. Försök med decimaltalet 17810, 6310 och 810 att konvertera. De binära ekvivalenterna är 101100102, 001111112 och 000010002.Prova 20910, 2510 och 24110 att konvertera till 11010001 respektive2, 000110012, 111100012 att få.
- Kalkylatorn som finns i ditt operativsystem kan göra denna konvertering åt dig. Men som programmerare har du det bättre med en god förståelse för hur denna konvertering fungerar. Kalkylatorns konverteringsalternativ kan göras synliga i menyn "Staty" > "Programmerare".
"Konvertera binär till decimal"