From c4950dfb23d1fe8cca7cb523d9ae4ea4b4dda2d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Fri, 21 Jan 2022 13:28:45 +0100 Subject: move files --- "datorteknik/Bin\303\244ra tal.md" | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 "datorteknik/Bin\303\244ra tal.md" (limited to 'datorteknik/Binära tal.md') diff --git "a/datorteknik/Bin\303\244ra tal.md" "b/datorteknik/Bin\303\244ra tal.md" new file mode 100644 index 0000000..1c3a4a6 --- /dev/null +++ "b/datorteknik/Bin\303\244ra tal.md" @@ -0,0 +1,41 @@ +[[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$$ -- cgit v1.2.1