Aufgabenteil A
Aufgabenteil B
extract (1 Pkt)set (1 Pkt)clear (1 Pkt)print (1 Pkt)upper (1 Pkt)lower (1 Pkt)Aufgabenteil C
uint64_t (1 Pkt)Aufgabenteil A
uint64_t = ? Bytes (1 Pkt)bool? (1 Pkt)bool? (1 Pkt)uint32_t zu uint64_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)int32_t zu uint64_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)int32_t zu uint32_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)int64_t zu uint32_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)uint32_t zu int32_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)int32_t zu double, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)double zu int32_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)float zu int32_t, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)Aufgabenteil B
Aufgabenteil C
[lower, upper] (2 Pkt)
Punkteverteilung für Blatt 02
=============================
Operationen auf der Binärdarstellung
------------------------------------
**Aufgabenteil A**
- [ ] Warum ist Linksshift = mult 2? (0.5 Pkt)
- [ ] Linkshift im Dezimalsystem (0.5 Pkt)
- [ ] Unterschied arithmetischer und logischer Rechtsshift (0.5 Pkt)
- [ ] Welche Version wird vom jeweiligen Compiler implementiert + Lösungsweg (0.5 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 (1 Pkt)
- [ ] Idee für negative Zahlen in BCD (1 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`? (1 Pkt)
- [ ] Wieviele Bits hat ein `bool`? (1 Pkt)
- [ ] `uint32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `int32_t` zu `uint64_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `int32_t` zu `uint32_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `int64_t` zu `uint32_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `uint32_t` zu `int32_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `int32_t` zu `double`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `double` zu `int32_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
- [ ] `float` zu `int32_t`, Zahlenraum + Bsp. für verlustbehaftete Konversion (1 Pkt)
**Aufgabenteil B**
- [ ] Wieso ergibt der Code eine Endlosschleife? (1.5 Pkt)
- [ ] Endlosschleife umschreiben (1.5 Pkt)
**Aufgabenteil C**
- [ ] Welche Darstellung hat die 0? (1 Pkt)
- [ ] Zwei Intervalle `[lower, upper]` (2 Pkt)
- [ ] Darstellung für +Inf (1 Pkt)
- [ ] Darstellung für -Inf (1 Pkt)
- [ ] Darstellung für NaN (1 Pkt)
- [ ] **Bonus** finden eines Exponentensprungs (zusätzl. 2 Pkt)
Gesamtpunktzahl
===============
erreichte Punkte: / 40 Pkt