HA1 - Die Lösungen der ersten Hausaufgabe vom SS19 PDF

Title HA1 - Die Lösungen der ersten Hausaufgabe vom SS19
Course Einführung in die Informationstechnik für Ingenieure
Institution Technische Universität Berlin
Pages 5
File Size 124.9 KB
File Type PDF
Total Downloads 136
Total Views 794

Summary

a)Die Dualzahl wird aus dem Rest gebildet, der von unten nach oben gelesen wird.Hier wird die Dualzahl in “Päckchen“ mit je 3 Stellen geteilt (da 3 Stellen in dualerSchreibweise 8 verschiedene Zahlen beschreiben können) aus denen der Wert gelesen wirdund in der oktalen Weise geschrieben wird. Die er...


Description

Aufgabe 1 a) 1337 : 2 = 668 668 : 2 = 334 334 : 2 = 167 167 : 2 = 83 83 : 2 = 41 41 : 2 = 20 20 : 2 = 10 10 : 2 = 5 5:2=2 2:2=1 1:2=0

Rest 1 0 0 1 1 1 0 0 1 0 1

Binärzahl: 10100111001

133710 =101001110012 Die Dualzahl wird aus dem Rest gebildet, der von unten nach oben gelesen wird.

4242 : 2 = 2121 2121 : 2 = 1060 1060 : 2 = 530 530 : 2 = 265 265 : 2 = 132 132 : 2 = 66 66 : 2 = 33 33 : 2 = 16 16 : 2 = 8 8: 2 = 4 4: 2 = 2 2:2=1 1:2=0

Rest 0 1 0 0 1 0 0 1 0 0 0 0 1

424210 =10000100100102 Die Dualzahl wird aus dem Rest gebildet, der von unten nach oben gelesen wird. Für Oktalzahl: 001 000 010 010 010 = 1 0 2 2 2

424210=102228 Hier wird die Dualzahl in “Päckchen“ mit je 3 Stellen geteilt (da 3 Stellen in dualer Schreibweise 8 verschiedene Zahlen beschreiben können) aus denen der Wert gelesen wird und in der oktalen Weise geschrieben wird. Die ersten drei „Päckchen“ ergeben alle je 2, das vierte „Päckchen“ ist 0 und das fünfte ergibt 1. Für Hexadezimalzahl: 0001 0000 1001 0010 = 1 0 9 2

424210=109216

Hier wird ähnlich wie bei den Oktalzahlen vorgegangen, nur dass die „Päckchen“ aus 4 Stellen bestehen (da 4 Stellen in dualer Schreibweise 16 verschiedene Zahlen beschreiben können), das erste „Päckchen“ ergibt 2, das zweite 9, das dritte 0 und das vierte 1.

b) Dualzahl: 0110 1000 1101 1101 = 6 8 D D Die Vorgehensweise ist dieselbe, wie in 1a.

c) 12 : 2 = 6 6:2=3 3:2=1 1:2=0

Rest 0 0 1 1

4:2=2 2:2=1 1:2=0

0 0 1

127 : 2 = 63 63 : 2 = 31 31 : 2 = 15 15 : 2 = 7 7:2=3 3:2=1 1:2=0

1 1 1 1 1 1 1

Umwandlung von 0000 0100 in ein Zweierkomplement: Invertiert: 1111 1011 +1 1111 1100 = K 2 0000 1100 = 1210 +1111 1100 = K 2 (− 410 ) 1 0000 1000 = 810  (12-4): 00001000 0111 1111 = 12710 +0000 0100 = 4 10 1000 0011 Aufgrund der 1 an der 7.ten stelle (vorne) kann man schon erkennen, dass die resultierende Zahl negativ ist und durch die Rechnung somit ein falsches Ergebnis Herauskommt anstatt 131. Wandeln wir die (1000 0011)2 in eine positiven Zahl um, so ergibt sich: 0111 1100

+0000 0001 0111 1101 = (125)10 Das bedeutet, dass 127+4 im Dualsystem mit Hilfe des Zweierkomplements auf 1 Byte (-125)10 ergibt. Dies ist auf dem Wertebereich von den 8 Bit des Zweierkomplements, der im Bereich von -128 bis 127 liegt, zurückzuführen. Das Ergebnis 131 liegt nämlich außerhalb dieses Bereichs weswegen eine negative zahl (-125)10 herauskommt. Aufgabe 2: Man sollte ein Programm programmieren, welches eine Zahl, die man sich zwischen 1 und 100 ausdenkt erraten soll, dabei war die main Datei schon gegeben, sodass man nur startGAme, getCurrentGuess und answer programmieren musste. #include //Gegebene globale Variablen unsigned int upperLimit; unsigned int lowerLimit; //Die folgenden drei Funktionen müsst ihr selbst Schreiben void startGame(unsigned int a, unsigned int b) { upperLimit = b; lowerLimit = a - 1; } int getCurrentGuess() { if (lowerLimit + 1 == upperLimit) { return -1 * (upperLimit); } else { return ((upperLimit + lowerLimit) / 2); } } void answer(bool answer) { bool blabla = answer; if (blabla == true) { upperLimit = getCurrentGuess(); } else { lowerLimit = getCurrentGuess(); } } int main() { std::cout 0)//Wenn eine positive Zahl zurückgegeben wird, frage nach der Zahl { std::cout...


Similar Free PDFs