Skip to content

Commit dc168b7

Browse files
authored
Merge pull request #29 from fb89zila/master
Umwandlung Dezimal/Binär und Carry-Save-Addierer
2 parents bfe6dbc + 4a9f852 commit dc168b7

1 file changed

Lines changed: 25 additions & 24 deletions

File tree

09_Rechnerarithmetik.md

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -203,13 +203,14 @@ style="width: 80%; min-width: 420px; max-width: 720px;"
203203
Der Teiler definiert das avisierte Zahlensystem
204204
|
205205
v
206-
29 / 2 = 14 Rest 1 |
206+
29 / 2 = 14 Rest 1 ^
207207
14 / 2 = 7 Rest 0 |
208-
7 / 2 = 3 Rest 1 |
208+
7 / 2 = 3 Rest 1 | Leserichtung für die Binärzahl
209209
3 / 2 = 1 Rest 1 |
210-
1 / 2 = 0 Rest 1 v .
210+
1 / 2 = 0 Rest 1 | .
211211
212212
```
213+
$29_{10}$=$11101_{2}$
213214

214215
Für binäre Zahlen kann mit Blick auf die bekannten Zweierpotenzen auch effizienter
215216
vorgegangen werden:
@@ -235,7 +236,7 @@ __Beispiel:__ $242_{10}$ in binär
235236
style="width: 80%; min-width: 420px; max-width: 720px;"
236237
-->
237238
```ascii
238-
523 / 2 = 261 Rest 1 |
239+
523 / 2 = 261 Rest 1 ^
239240
261 / 2 = 130 Rest 1 |
240241
130 / 2 = 65 Rest 0 |
241242
65 / 2 = 32 Rest 1 |
@@ -244,7 +245,7 @@ style="width: 80%; min-width: 420px; max-width: 720px;"
244245
8 / 2 = 4 Rest 0 |
245246
4 / 2 = 2 Rest 0 |
246247
2 / 2 = 1 Rest 0 |
247-
1 / 2 = 0 Rest 1 v
248+
1 / 2 = 0 Rest 1 |
248249
```
249250
$523_{10}$=$1000001011_{2}$
250251

@@ -290,11 +291,11 @@ style="width: 80%; min-width: 420px; max-width: 720px;"
290291
Der Faktor definiert das avisierte Zahlensystem
291292
|
292293
v
293-
0.28125 ∙ 2 = 0.5625 "<" 1 -> 0 Rest 0.5625
294-
0.5625 ∙ 2 = 1.125 ">" 1 -> 1 Rest 0.125
295-
0.125 ∙ 2 = 0.25 "<" 1 -> 0 Rest 0.25
296-
0.25 ∙ 2 = 0.5 "<" 1 -> 0 Rest 0.5
297-
0.5 ∙ 2 = 1 "<="1 -> 1 Rest 0 .
294+
0.28125 ∙ 2 = 0.5625 "<" 1 -> 0 | Rest 0.5625
295+
0.5625 ∙ 2 = 1.125 ">" 1 -> 1 | Rest 0.125
296+
0.125 ∙ 2 = 0.25 "<" 1 -> 0 | Rest 0.25
297+
0.25 ∙ 2 = 0.5 "<" 1 -> 0 | Rest 0.5
298+
0.5 ∙ 2 = 1 "<="1 -> 1 v Rest 0 .
298299
299300
```
300301

@@ -308,15 +309,15 @@ Ergebnis $0.28125_{10} = 0.25 + 0.03125 = 0.01001$
308309
style="width: 80%; min-width: 420px; max-width: 720px;"
309310
-->
310311
```ascii
311-
0.1 ∙ 2 = 0.2 0 Rest 0.2
312-
0.2 ∙ 2 = 0.4 0 Rest 0.4
313-
0.4 ∙ 2 = 0.8 0 Rest 0.8
314-
0.8 ∙ 2 = 1.6 1 Rest 0.6
315-
0.6 ∙ 2 = 1.2 1 Rest 0.2
316-
0.2 ∙ 2 = 0.4 0 Rest 0.4
317-
0.4 ∙ 2 = 0.8 0 Rest 0.8
318-
0.8 ∙ 2 = 1.6 1 Rest 0.6
319-
0.6 ∙ 2 = 1.2 1 Rest 0.2 .
312+
0.1 ∙ 2 = 0.2 0 | Rest 0.2
313+
0.2 ∙ 2 = 0.4 0 | Rest 0.4
314+
0.4 ∙ 2 = 0.8 0 | Rest 0.8
315+
0.8 ∙ 2 = 1.6 1 | Rest 0.6
316+
0.6 ∙ 2 = 1.2 1 | Rest 0.2
317+
0.2 ∙ 2 = 0.4 0 | Rest 0.4
318+
0.4 ∙ 2 = 0.8 0 | Rest 0.8
319+
0.8 ∙ 2 = 1.6 1 | Rest 0.6
320+
0.6 ∙ 2 = 1.2 1 v Rest 0.2 .
320321
```
321322

322323
Ergebnis Offenbar ist für den Wert $0.1_{10}$ keine exakte Repräsentation im dualen System möglich $0,0001100110011...._2$. Welche Konsequenzen hat das?
@@ -391,14 +392,14 @@ Kein Überlauf!
391392
style="width: 80%; min-width: 420px; max-width: 720px;"
392393
-->
393394
```ascii
394-
55 / 2 = 27 Rest 1 | 214 / 2 = 107 Rest 0 |
395+
55 / 2 = 27 Rest 1 ^ 214 / 2 = 107 Rest 0 ^
395396
27 / 2 = 13 Rest 1 | 107 / 2 = 53 Rest 1 |
396397
13 / 2 = 6 Rest 1 | 53 / 2 = 26 Rest 1 |
397398
6 / 2 = 3 Rest 0 | 26 / 2 = 13 Rest 0 |
398399
3 / 2 = 1 Rest 1 | 13 / 2 = 6 Rest 1 |
399-
1 / 2 = 0 Rest 1 v 6 / 2 = 3 Rest 0 |
400+
1 / 2 = 0 Rest 1 | 6 / 2 = 3 Rest 0 |
400401
3 / 2 = 1 Rest 1 |
401-
1 / 2 = 0 Rest 1 v .
402+
1 / 2 = 0 Rest 1 | .
402403
```
403404

404405
{{1}}
@@ -781,8 +782,8 @@ Ein Carry-Save-Addierer wird verwendet, um die Summe von drei oder mehr Binärza
781782
+ 11001 (b) 25
782783
+ 01011 (c) 11
783784
------- ----
784-
00001 Summe ohne Carrys 45
785-
11011 Carry Flags 1
785+
00001 Summe ohne Carrys 1
786+
11011 Carry Flags 54
786787
------ ----
787788
110111 Gesamtsumme 55
788789
```

0 commit comments

Comments
 (0)