diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2022-01-21 13:28:45 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2022-01-21 13:28:45 +0100 |
| commit | c4950dfb23d1fe8cca7cb523d9ae4ea4b4dda2d5 (patch) | |
| tree | 991dd3862f8366a667de73aa03820f1701397e9a /datorteknik/Binära tal.md | |
| parent | e5aa9d5a17d52eb61243a9c45dd2e65f27084c9c (diff) | |
| download | notes-c4950dfb23d1fe8cca7cb523d9ae4ea4b4dda2d5.tar.gz | |
move files
Diffstat (limited to 'datorteknik/Binära tal.md')
| -rw-r--r-- | datorteknik/Binära tal.md | 41 |
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$$ |
