Grundlagen der Programmierung

Grundlagen der
Programmierung
Übung 2
Algorithmen und Programme
Übersicht
•
•
•
•
Fragebögen, Volkszählung
Selbsttest, Wiederholung
Ergänzendes zu Fließkommazahlen
Ergänzendes zur Zahlendarstellung
• Schnelles Zweierkomplement
• Schneller Basiswechsel
2
Selbsttest
•
•
•
•
•
•
•
•
•
17 div 3 = ?
17 mod 3 = ?
arsnova.thm.de
ID: 85 24 43 34
10010112 = ?10
16310 = ?2
60404307 - 10226347 = ?7
1 010 0100 = ?10, r = 3, b = 2r-1-1
-123 als Zweierkomplement, Basis 10, 3 Stellen
Zweierkomplement von 00001010, Basis 2
Ist -256 als Zweierkomplement mit 9 Ziffern
binär darstellbar?
3
Vorsicht mit Fließkommazahlen
if(0.362*100.0 == 36.2) {
//führe überlebenswichtigen Code aus
}
double f1 = 1.0e+20;
double f2 = 1.0;
[GdP -- Übung 2]
while (f1 > 0) {
System.out.println(f1);
f1 = f1 – f2;
}
4
Schnelles Zweierkomplement
Eingabe
1 1 1 1 0 1 0 1
Bitweise Negation
1 1 1 1 0 1 1 0
+1
1 1 1 1 0 1 1 0
Eingabe
0 0 0 0 1 0 0 1
Bitweise Negation
0 0 0 0 1 0 1 0
+1
[GdP -- Übung 2]
0 0 0 0 1 0 1 0
5
Schneller Basiswechsel
Hexadezimal
CF9A
jede Ziffer… C
F
9
A
…wird vier
Ziffern
Binär
1111
1001
1010
1100
1100 1111 1001 1010
Binär
100
4
7
6
147632
3
010
2
[GdP -- Übung 2]
Je drei
001
Ziffern…
…werden
1
eine Ziffer
Oktal
1100111110011010 =
(00)1 100 111 110 011 010
111
110
011
6
Noch Fragen?
[GdP -- Übung 2]
7