Inhalte zur Vorlesungswoche #3, Informatik 1 im Wintersemester 2024/25
(EN google-translate)
(PL google-translate)
Themen
|
Material zu der Lehrveranstaltung findet sich auf Moodle.
Ergänzungen
|
|
7-3=4
Binär bei 8 Bit:
7 = 00000111
3 = 00000011
-3 = 11111100 + 1 = 11111101 (Zweierkomplement)
Subtraktion als Addition des Zweierkomplements:
7
-3
00000111
+11111101
(1) 1111111 (Überträge)
---------
(1)00000100 = 4
Code 0-1: Beispiel zur praktischen Nutzung des Zweierkomplements für die Subtraktion.
Übungen mit Stift und Papier
Aufgabe 1: Rechnen Sie vom Dezimal- ins Binärsystem um:
7 = 10 = 127 = 255 = 128 = 48 = 15 =
Code 0-2: Rechnen Sie vom Dezimal- ins Binärsystem um
Aufgabe 2: Rechnen Sie die 8-Bit-Zahlen (char) ins Dezimalsystem um, ACHTUNG negative Zahlen stehen im Zweierkomplement!
Überlegen Sie genau die Reihenfolge, wie eine negative Binärzahl im Zweierkomplement zurück ins Dezimalsystem gebracht wird.
00001111 = 11110000 = 00001010 = 10000000 = 10101010 = 01010101 =
Code 0-3: Rechnen Sie die 8-Bit-Zahlen (char) ins Dezimalsystem um, ACHTUNG negative Zahlen stehen im Zweierkomplement!
Aufgabe 3: Führen Sie folgende Subtraktionen im Binärsystem durch Anwendung des Zweierkomplements aus und überprüfen Sie das Ergebnis durch eine Rücktransformation
10 - 5 = 10 - 15 = 64 - 65 =
Code 0-4: Führen Sie folgende Subtraktionen im Binärsystem durch Anwendung des Zweierkomplements aus und überprüfen Sie das Ergebnis durch eine Rücktransformation
Aufgabe 4: Wandeln Sie folgende Zahlen ins Hexadezimalsystem um.
Dezimalzahlen: 10 = 12 = 15 = 16 = 100 = Binärzahlen (alle positiv zwischen 0 und 255): 11110000 = 00001111 = 00001010 = 10101010 =
Code 0-5: Wandeln Sie folgende Zahlen ins Hexadezimalsystem um.
Übungen am PC
Aufgabe 1
Im Unterricht wurde eine Methode zur handschriftlichen Transformation einer im Dezimalsystem dargestellten Zahl ins Binärsystem besprochen.
Nachfolgend finden Sie ein kleines Programm, das diese Umwandlung automatisiert, jedoch die Ziffern in umgekehrter Reihenfolge ausgibt.
Dabei kommt die Modulodivision zum Einsatz, Operator %
Die Modulo-Division wird auch Rest-Division genannt.
Symbol des Modulo-Operators in der Programmiersprache C: % Beispiele: 4%2=0 5%2=1 6%3=0 8%3=2
Code 0-6: Die Modulo Division
#include <iostream>
using namespace std;
int main(void)
{
int x = 126;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
cout<<x%2;
x=x/2;
return 0;
}
Code 0-7: Einfaches Programm zur Binärdarstellung einer Zahl, wobei die Ziffern in umgekehrter Reihenfolge dargestellt werden.
|
#include <iostream>
using namespace std;
int main(void)
{
int x;
cout<<"Welche Zahl soll in Binär umgewandelt werden?"<<endl;
cin>>x;
int y[7];
if(x >= 0 && x <= 127)
{
for(int i = 0; i<=7; i++)
{
y[i] = x%2;
cout<<y[i];
x=x/2;
}
cout<<endl<<"Einerkomplement: ";
for(int i = 0; i<=7; i++)
{
y[i] = 1 - y[i];
cout<<y[i];
}
cout<<endl;
}
else
{
cout<<"Zahl ist nicht zwischen 0 und 127."<<endl<<"Das Programm wird beendet."<<endl;
}
return 0;
}
Code 0-8: Studentische Lösung zu Aufgabe 1.
Aufgabe 2
|
|