Den decimal (bas tio) talsystemet har tio möjliga värden (0,1,2,3,4,5,6,7,8, eller 9) för varje plats-värde. Däremot binära har (basen två) talsystemet två möjliga värden, ofta representerade som 0 eller 1, för varje plats-värde.
För att undvika missförstånd när du använder olika numeriska system, att basen får för varje enskilt nummer anges genom att skriva det som ett index av numret. Till exempel kan ett decimaltal 156 skrivas som 156 10 och läsas som "hundra femtiosex bas tio". Det binära talet 10011100 kan anges som "bas två" genom att skriva det som 10011100 2.
Eftersom det binära systemet är det interna språket av elektroniska datorer, bör allvarliga dataprogrammerare förstå hur man kan konvertera från decimal till binär. Här är hur man gör det.
Steg
Välja en metod för omvandling
- Kort division med två med resten (lättare för nybörjare)
- Jämförelse med fallande potenser av två och subtraktion
Metod ett: kort division med två med resten
Denna metod är mycket lättare att förstå när visualiseras på papper. Det bygger bara på division med två.
- 1Ställ upp problemet. För detta exempel, låt oss omvandla decimaltal 156 10 till binärt.
- Skriv decimaltal som utdelningen inuti en uppochnervänd "lång division" symbol.
- Skriv basen av destinationssystemet (i vårt fall, "2" för binärt) som divisor utanför kurvan av divisionen symbolen.
- 2Skriv heltalet svaret (kvoten) under lång division symbolen, och skriva resten (0 eller 1) till höger om utdelning.
- I grund och botten, om utdelningen är ännu, kommer den binära resten vara 0, om utdelningen är udda, kommer den binära resten vara 1.
- 3Fortsätt nedåt, dela varje ny kvoten av två och skriva resterna till höger om varje utdelning. Stanna när kvoten är 0.
- 4Från och med den nedre återstoden, läsa sekvensen av restprodukter uppåt till toppen. För detta exempel, bör du ha 10.011.100. Detta är den binära motsvarigheten till decimaltal 156. Eller, skriven med bas index: 156 10 = 10.011.100 2
- Denna metod kan modifieras för att konvertera från decimal till någon bas. Divisorn är 2 eftersom den önskade destinationen är bas 2. Om önskad destination är en annan bas, byt 2 i metoden med den önskade basen. Till exempel, om den önskade destinationen är basen 9, byt ut 2 med 9. Slutresultatet blir då i den önskade basen.
Metod två: fallande potenser av två och subtraktion
- 1Lista befogenheter två i en "bas 2 bord" från höger till vänster. Börja vid 2 0, utvärdera det som 1. Tillväxt exponenten med ett för varje effekt. Listan, med tio element, skulle se ut så här: 512, 256, 128, 64, 32, 16, 8, 4, 2, 1
- 2Räkna ut den största makten som kommer att passa in det nummer du vill konvertera till binärt. För detta exempel, låt oss omvandla decimaltal 156 10 till binärt. Vad är den största makten av två som kommer att passa in i 156? Sedan 128 passar, skriv en 1 för den vänstra binär siffra, och subtrahera 128 från din decimaltal, 156. Du har nu 28.
- 3Flytta till nästa lägre potens av två. Kan 64 passar in i 28? Nej, så skriv en 0 för nästa binär siffra till höger.
- 4Kan 32 passar in i 28? Nej, så skriv en 0.
- 5Kan 16 passar in i 28? Ja, så skriver en 1, och subtrahera 16 från 28. Du har nu 12.
- 6Kan 8 passar in i 12? Ja, så skriver en 1, och subtrahera 8 från 12. Du har nu 4.
- 7Kan 4 (potens av två) passar in 4 (arbetar decimal)? Ja, så skriver en 1, och subtrahera 4 från 4. Du har 0.
- 8Kan 2 passar in 0? Nej, så skriv en 0.
- 9Kan en passar in 0? Nej, så skriv en 0.
- 10Sätt ihop den binära svaret. Eftersom det inte finns fler befogenheter två i listan, är du klar. Du bör ha 10.011.100. Detta är den binära motsvarigheten till decimaltal 156. Eller, skriven med bas index: 156 10 = 10.011.100 2.
- Upprepning av denna metod kommer att resultera i memorering av potenser av två, kommer som gör att du kan hoppa över steg 1.
Tips
- Räknaren som kommer installeras med operativsystemet kan göra denna konvertering för dig, men som programmerare, du är bättre med en god förståelse för hur konverteringen fungerar. Räknarens konvertering alternativ kan göras synliga genom att öppna sin "View"-menyn och välja "Programmerare"
- Öva. Försök att omvandla decimaltal 178 10, 63 10 och 8 10. De binära motsvarigheter är 10110010 2, 00.111.111 2, och 00.001.000 2. Försök konvertera 209 10, 25 10 och 241 10 till respektive 11.010.001 2, 00.011.001 2, och 11.110.001 2.
- Konvertera i motsatt riktning, från binär till decimal, är ofta lättare att lära sig först.