[[Talbas]] 2. # Omvandling ## Från decimalt tal Kan subtahera bort 2-potenser: $$98_{10} = 64 + 34 = 64 + 32 + 2 = 1100010_2$$ Kan också dividera med två kontinuerligt. Resten vid divisionen baklänges blir talet i bas 2. Avrunda nedåt. $$98 / 2 = 49.0 \rightarrow 0$$ $$49 / 2 = 24.5 \rightarrow 1$$ $$24 / 2 = 12.0 \rightarrow 0$$ $$12 / 2 = 6.0 \rightarrow 0$$ $$6 / 2 = 3.0 \rightarrow 0$$ $$3 / 2 = 1.5 \rightarrow 1$$ $$1 / 2 = 0.5 \rightarrow 1$$ $$\Rightarrow 98_{10} = 1100010_2$$ ## Från hexadecimala tal Superlätt binärt <-> hexadecimalt. Binärt -> hexadecimalt: lägg till nollor till vänster tills längden är mod 4 och översätt grupper om fyra till sitt hexadecimala tecken. Hexadecimalt -> binärt: översätt varje tecken till de fyra binära siffrorna rakt av. # Två-komplement Tyngden i den första siffran är negativ. Exempel: tolka $1011_2$ som ett två-komplementstal. $$1011_2 = -8 \cdot 1 + 4 \cdot 0 + 2 \cdot 1 + 1 \cdot 1 = -8 + 3 = -5_{10}$$ ## Byta tecken $$-X = \overline{X} + 1$$ $$-3_{10} = -0011_2 = \overline{0011} + 1 = 1100 + 1 = 1101_2$$