diff --git a/20231116/hp-20231116.pdf b/20231116/hp-20231116.pdf index d41b4e8050496863a4e1b9b1a8c2dfdd2e69131b..5d8ad8c7c024d23614889e9a42d51a264e8407d6 100644 Binary files a/20231116/hp-20231116.pdf and b/20231116/hp-20231116.pdf differ diff --git a/20231116/hp-20231116.tex b/20231116/hp-20231116.tex index 67d79f37afa536c53fbb9f1091e732c471017b5b..e10f6c2aa8d43c8ad9c6ec02dbec81360e13cff4 100644 --- a/20231116/hp-20231116.tex +++ b/20231116/hp-20231116.tex @@ -25,18 +25,8 @@ \documentclass[10pt,t]{beamer} \usepackage{pgslides} -\usepackage{pdftricks} \usepackage{tikz} -\begin{psinputs} - \usepackage[utf8]{inputenc} - \usepackage[german]{babel} - \usepackage[T1]{fontenc} - \usepackage{helvet} - \renewcommand*\familydefault{\sfdefault} - \usepackage{pstricks,pst-grad} -\end{psinputs} - \newcommand{\redurl}[1]{\href{#1}{\color{red}\nolinkurl{#1}}} \title{Hardwarenahe Programmierung} @@ -816,11 +806,78 @@ \subsection{Binärdarstellung von Gleitkommazahlen} -\begin{frame} +\begin{frame}[fragile] + + \showsubsection + +% (Diese Seite wurde unbewußt leer gelassen.) + + Beispiel für Gleitkommazahl: $2{,}351\cdot10^5$ (oder: $2.351\times10^5$) + + \smallskip + + Bezeichnungen: $\text{Mantisse} \cdot 10^{\text{Exponent}}$ + + \smallskip + + C-Schreibweise: \lstinline{2.351e5} (oder: \lstinline{2.351E5}) + + \pause + \bigskip + + Wie speichert man Gleitkommazahlen? + + \smallskip + + $m$-Bit-Zahl, davon + \begin{itemize} + \item + $e$ Bits für den Exponenten (einschließlich Vorzeichen), + \item + $1$ Bit für das Vorzeichen der Mantisse, + \item + $m - e - 1$ Bits für die Mantisse. + \end{itemize} + + \pause + \begin{picture}(0,0) + \color{red} + \put(1.95,0.65){\makebox(0,0){\tikz{\draw(0,0)--(0.5,0.25);}}} + \put(1.95,0.65){\makebox(0,0){\tikz{\draw(0,0.25)--(0.5,0);}}} + \end{picture}% + {\color{red}Trick: Mantisse als \newterm{normalisierte Zahl\/} abspeichern} + + \pause + \bigskip + Vorteil gegenüber ganzen Zahlen:\\ + größerer Wertebereich bei vergleichbarem Speicherplatzbedarf + + \medskip + + Nachteil gegenüber ganzen Zahlen: Rundungsfehler\\ + \textcolor{red}{\textarrow\ + \textbf{ungeeignet} für Anwendungen, bei denen es auf jedes Bit ankommt\\ + \phantom{\textarrow\ }(z.\,B.\ Verschlüsselung)} + \vspace*{-1cm} + +\end{frame} + +\begin{frame}[fragile] \showsubsection - (Diese Seite wurde unbewußt leer gelassen.) + Problem beim Arbeiten mit Gleitkommazahlen: Auslöschung von Ziffern + \begin{itemize} + \item + Zahlen aufsummieren:\\ + vorher sortieren, mit der kleinsten Zahl beginnen + \item + Ableitungen bilden:\\ + Beim Bilden von Differenzquotienten\\ + verliert man notwendigerweise an Präzision!\\ + \textarrow\ Die Differenzen sehr sorgfältig auswählen.\\ + \textarrow\ Am besten gar nicht ableiten, sondern integrieren. + \end{itemize} \end{frame}