LED
Fra binært til desimalt og tilbake
Datamaskinen regner med binære tall, mens vi mennesker foretrekker tall i desimalsystemet. Konverteringen mellom de to tallsystemer er derfor grunnleggende. Uten konvertering vil maskinen være i praksis ubrukelig.
Her skal du lage et regneark der du taster inn et binært tall. Arket skal så beregne det tilsvarende desimaltallet. Og for å sjekke at alt stemmer, skal det konvertere desimaltallet ditt tilbake til et binært tall. Hvis alt gikk bra, burde du da kunne konstatere overenstemmelse.
convert
Her kommer noen instrukjoner: Det blir enklest dersom du skriver hvert siffer til det binære tallet i en separat celle. Bruk navn som helper deg i den senere beregningen, for eks. bin0 for laveste siffer, bin1for nest-laveste, etc.
convert
Omregningen fra binært til desimalt er enkelt. Formelen er
	desimal = 1*bin0 + 2*bin1 + 4*bin2 
                         + 8*bin3 + 16*bin4
	
Er du enig?
Klart at du gir igjen et navn til cellen som inneholder desimaltallet ditt.
convert
Å gå tilbake fra desimalt til binært, er igjen enklest dersom du behandler hvert binært siffer separat, i hver sin celle. Bruk nye navn, som for eks. testbin0, testbin1, etc.
Den laveste posisjon er 0 dersom desimaltallet er et partall, og 1 dersom det er oddetall. Med andre ord, det avhenger av resten som du får ved divisjon med 2. Her kan du bruke REST() funksjonen. På engelsk vil det være MOD(), for modulo.
	testbin0 = REST(desimal; 2)
	

convert
Neste siffer får du ved å dividere desimaltallet med 2, og så utføre samme sjekk. Men du må fjerne effekten av den laveste posisjonen.
	testbin1 = REST(desimal - 1*testbin0)/2; 2)
	

convert
Tilsvarende er formelen for neste posisjon
	testbin2 = REST(desimal - 1*testbin0 
                                - 2*testbin1)/2; 2)
	
Dette fortsetter i samme stilen -- får du det til å fungere?
Nå er det enkelt å bygge en binær teller.

Lær å telle
Tilbake til index