Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| ef_informatik:zahlensysteme [2026-08-18 05:39] – sca | ef_informatik:zahlensysteme [2026-08-25 13:11] (aktuell) – [Zahlensysteme & Datentypen] sca | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| ++++Lernziele| | ++++Lernziele| | ||
| - | Grundsätzlich | + | **1 Integers** |
| + | |||
| + | * Ich kann erklären, was ein **Datentyp** ist, und den Unterschied zwischen **statischer** (C\#, C\+\+) und **dynamischer** (Python) Typisierung an einem Beispiel erläutern -- inklusive je eines Vor- und eines Nachteils. | ||
| + | * Ich kann für $n$ Bit berechnen, **wie viele** Zahlen darstellbar sind sowie die **kleinste** und die **grösste** Zahl -- je für `int` und `unsigned int`. | ||
| + | * Ich kann für eine konkrete Anwendung einen **passenden Datentyp wählen** und meine Wahl mit einer Abschätzung des Wertebereichs begründen. | ||
| + | * Ich kann erklären, was ein **Überlauf (Overflow)** ist, warum dabei aus der grössten positiven die kleinste negative Zahl wird, und warum das so gefährlich ist (Ariane 5). | ||
| + | |||
| + | **2 Programmieren in C\#** | ||
| + | |||
| + | * Ich kann in C\# ein einfaches Programm schreiben: Variablen **deklarieren** und mit Werten belegen, rechnen, ausgeben, sowie **Verzweigungen** und **Schleifen** verwenden. Insbesondere kenne ich die Falle der **Ganzzahldivision** (`7 / 3` ergibt `2`). | ||
| + | |||
| + | **3 Gleitkommazahlen** | ||
| + | |||
| + | * Ich kann eine Dezimalzahl mit Nachkommateil ins **Binärsystem** umwandeln und in **wissenschaftlicher Schreibweise** $1.M_2 \cdot 2^{e}$ darstellen -- und umgekehrt. | ||
| + | * Ich kann den **Aufbau einer Gleitkommazahl** erklären: Vorzeichenbit, Exponent mit **Bias** und **normalisierte Mantisse** mit **impliziter Eins**. | ||
| + | * Ich kann eine Dezimalzahl ins **Mini-Float-Format** (oder ähnliches Format mit vorgegebener Anzahl Bits) umwandeln und ein Bitmuster zurück in eine Dezimalzahl. Ich kann damit die grösste und die kleinste darstellbare Zahl bestimmen. | ||
| + | * Ich kann erklären, warum $0.1$ **nicht exakt** darstellbar ist und warum `0.1 + 0.2 == 0.3` zu `False` führt -- und weiss, wie man Gleitkommazahlen stattdessen vergleicht. | ||
| + | * Ich kann erklären, warum Gleitkommazahlen **ungleichmässig** auf dem Zahlenstrahl liegen, und welche Folgen das hat (Rundungsfehler summieren sich auf, **Absorption**). | ||
| + | * Ich kenne die **Sonderfälle** $\pm 0$, $\pm\infty$ und `NaN` und weiss, dass keiner davon eine Fehlermeldung auslöst. | ||
| - | * Wissen, warum Datentypen wichtig sind in C Sprachen. | ||
| - | * Dynamische und statische Typisierung vergleichen. Vor- und Nachteile? | ||
| - | * Zahlen in wissenschaftlicher Schreibweise darstellen. | ||
| - | * Umwandlung von ganzen Zahlen (ints) dezimal <-> binär | ||
| - | * Binärzahl in Gleitkommadarstellung bringen ... | ||
| - | * ... und zugehörige Fachbegriffe (Mantisse, ...) erklären können. | ||
| - | * Umwandlung von Gleitkommazahlen dezimal <-> binär | ||
| - | * Umwandlung Gleitkommadarstellung in Binärzahl oder Dezimalzahl | ||
| - | * Sonderfälle für binäre Gleitkommazahlen kennen und verstehen. | ||
| - | * Binäre floats addieren können. | ||
| - | * Codes zu den obigen Punkten verfassen können in Python oder C#. | ||
| ++++ | ++++ | ||
| Zeile 58: | Zeile 65: | ||
| ++++ | ++++ | ||
| - | ===== - Voraussetzungen ===== | + | ===== Voraussetzungen ===== |
| Aus dem Grundlagenfach weisst du bereits, was Zahlensysteme sind. Insbesondere kennst du das Binärsystem und kannst: | Aus dem Grundlagenfach weisst du bereits, was Zahlensysteme sind. Insbesondere kennst du das Binärsystem und kannst: | ||
| Zeile 68: | Zeile 75: | ||
| Das Dossier **Zahlensysteme** aus dem Grundlagenfach findest du hier: {{ : | Das Dossier **Zahlensysteme** aus dem Grundlagenfach findest du hier: {{ : | ||
| + | |||
| + | ===== Dossier ===== | ||
| + | |||
| + | {{ : | ||
| + | |||