Punkteverteilung für Blatt 02

Operationen auf der Binärdarstellung

Aufgabenteil A


Aufgabenteil B


Aufgabenteil C

Konsequenzen beschränkter Präzision

Aufgabenteil A


Aufgabenteil B


Aufgabenteil C




Quelltext

Punkteverteilung für Blatt 02
=============================

Operationen auf der Binärdarstellung
------------------------------------

**Aufgabenteil A**
- [ ] Warum ist Linksshift = mult 2? (1 Pkt)
- [ ] Linkshift im Dezimalsystem (1 Pkt)
- [ ] Unterschied arithmetischer und logischer Rechtsshift (1 Pkt)
- [ ] Welche Version wird vom jeweiligen Compiler implementiert + Lösungsweg (1 Pkt)

**Aufgabenteil B**
- [ ] `extract` (1 Pkt)
- [ ] `set` (1 Pkt)
- [ ] `clear` (1 Pkt)
- [ ] **Bonus** negative Eingaben (zusätzl. 3 Pkt)
- [ ] `print` (1 Pkt)
- [ ] `upper` (1 Pkt)
- [ ] `lower` (1 Pkt)

**Aufgabenteil C**
- [ ] Zahlenraum `uint64_t` (1 Pkt)
- [ ] 0, 1337, 65536, 5318008 -> BCD (2 Pkt)
- [ ] Idee für negative Zahlen in BCD (2 Pkt)
- [ ] Binär -> BCD converter (3 Pkt)
- [ ] print BCD (3 Pkt)
- [ ] BCD-Addierer (3 Pkt)


Konsequenzen beschränkter Präzision 
-----------------------------------

**Aufgabenteil A**
- [ ] 128 `uint64_t` = ? Bytes (1 Pkt)
- [ ] Wieviele Bits bräuchte ein `bool`? (0.5 Pkt)
- [ ] Wieviele Bits hat ein `bool`? (0.5 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)

**Aufgabenteil B**
- [ ] Wieso ergibt der Code eine Endlosschleife? (0.5 Pkt)
- [ ] Endlosschleife umschreiben (0.5 Pkt)

**Aufgabenteil C**
- [ ] Welche Darstellung hat die 0? (1 Pkt)
- [ ] Zwei Intervalle `[lower, upper]` (1 Pkt)
- [ ] Welches Problem entsteht bei der Addition? (2 Pkt)
- [ ] Darstellung für +Inf (0.5 Pkt)
- [ ] Darstellung für -Inf (0.5 Pkt)
- [ ] Darstellung für NaN (1 Pkt)
- [ ] **Bonus** finden eines Exponentensprungs (zusätzl. 2 Pkt)