summaryrefslogtreecommitdiffstats
path: root/datorteknik/Binära tal.md
diff options
context:
space:
mode:
Diffstat (limited to 'datorteknik/Binära tal.md')
-rw-r--r--datorteknik/Binära tal.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/datorteknik/Binära tal.md b/datorteknik/Binära tal.md
new file mode 100644
index 0000000..1c3a4a6
--- /dev/null
+++ b/datorteknik/Binära 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$$