Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Folgende Prüfungsaufgabe verwirrt mich gerade etwas.

image.thumb.png.546fe6df1b561854b0c770d9ae3a0a7b.png

 

Die Zahl 17179869184 soll ins Bits untergebracht werden. Eine online conversion Bin -> Dec ergibt

image.png.81c46fb7253ed2db80e1522fc2190ae3.png 

 

Alles schön und gut, das sind aber doch 35 bits? Lösung sagt 34 bits. Zähle ich falsch? Eine 0 weniger ergibt 8589934592. Wo ist mein Denkfehler?

Du machst es Dir unnötig kompliziert.

16 * 1024 * 1024 * 1024 = 17179869184

2^4 * 2^10 * 2^10 * 2^10 = 2^34

 

Zu Deinem "Denkfehler":

Wieviel Werte kannst Du mit 8-Bit darstellen? Und wie lautet die größte Zahl?

Bearbeitet von FISI-I

@FISI-I

Die Lösung und auch du machen den gleichen Denkfehler.

Ja 17179869184 ist 2^34 aber Binär startest du bei 2^0.

Somit sind um 2^34 zu erreichen 35 Bits notwendig. Nicht 34.

vor 7 Minuten schrieb FISI-I:

Du machst es Dir unnötig kompliziert.

16 * 1024 * 1024 * 1024 = 17179869184

2^4 * 2^10 * 2^10 * 2^10 = 2^34

Wieviel Werte kannst Du mit 8-Bit darstellen? Und wie lautet die größte Zahl?

Da das überhaupt nicht mein Tagesgeschäft ist mag ich dir nur ungern widersprechen, aber hat @nurlennart nicht recht?
Es stimmt schon dass log2(17179869184) = 34 ist, weil entsprechend 2^34 = 17179869184
Und das bedeutet in Bit wäre das eine 1 auf die dann 33 mal 0 folgt:
1000000000000000000000000000000000
Jetzt haben wir ja aber das Problem, dass das hier nur von 2^34 bis 2^1 geht. Wir lassen dabei doch die 2^0 aus, die wir brauchen um eine dezimale 1 im Binärsystem darzustellen.
Also brauchen wir eine weitere 0 und sind dabb 35 Bits.

Ich meine mich dunkel zu erinnern, dass die Formel für die Berechnung damals darum auch log2(n)+1 war?

  • Autor
vor 1 Stunde schrieb ArByter:

Ich kann leider weder nachvollziehen, was die ZPA hier wollte, noch eure Lösungen. Aus welcher Prüfung ist die Frage bitte? Ich würde mir gerne den Lösungshinweis durchlesen.

Die Aufgabe kommt aus der FiSi AP T2 Winter 2021 

vor 5 Stunden schrieb ArByter:

Ich kann leider weder nachvollziehen, was die ZPA hier wollte, noch eure Lösungen. Aus welcher Prüfung ist die Frage bitte? Ich würde mir gerne den Lösungshinweis durchlesen.

Mal ganz generell:

 

Die Musterlösung suggeriert, dass man den Speicherplatz einer Zahl als Integer ausrechnen könnte, indem man sen Logarithmus zur Basis 2 dieser Zahl berechnet. 

 

Um eine Zahl als Integer zu speichern braucht man genau so viele Bits, wie diese Zahl lang ist, wenn man sie als Binärzahl schreibt.

 

Ein Blick in die Binärtabelle zeigt, dass die Musterlösung nicht stimmen  kann. Log2(8) ist beispielhaft 3. 8 als Binärzahl ist aber bekanntlich 1000 benötigt also 4 Bits um sie zu speichern. Darum log2(x)+1.

vor 7 Stunden schrieb Chris-Info:

Da das überhaupt nicht mein Tagesgeschäft ist mag ich dir nur ungern widersprechen, aber hat @nurlennart nicht recht?
Es stimmt schon dass log2(17179869184) = 34 ist, weil entsprechend 2^34 = 17179869184
Und das bedeutet in Bit wäre das eine 1 auf die dann 33 mal 0 folgt:
1000000000000000000000000000000000

Deine Annahme ist falsch, ebenso die von @nurlennart. Aus dem Exponenten 34 die Anzahl der Bits abzuleiten, ist nicht richtig. Woher auch immer das kommen mag.

Es handelt sich hier um eine Zahl in Exponentialschreibweise (ebenso der Logarithmus) im dezimalen Zahlensystem; entsprechend dazu die Zahl in Dezimalschreibweise. Und um diese im binären Zahlensystem darstellen zu können, benötigt man 35 Bits (Stellen). Stichwort: Stellenwertsysteme.

Daher auch meine Fragen oben.

 

 

Bearbeitet von FISI-I

vor 7 Stunden schrieb Brapchu:

@FISI-I

Die Lösung und auch du machen den gleichen Denkfehler.

Ja 17179869184 ist 2^34 aber Binär startest du bei 2^0.

Somit sind um 2^34 zu erreichen 35 Bits notwendig. Nicht 34.

Wo habe ich denn da einen Denkfehler? Die von mir gestellten Fragen hast Du gesehen? Ich habe nicht geschrieben, dass man die Zahl mit 34 Bits darstellen kann. Die beiden oberen Zeilen dienen lediglich der Vereinfachung der Umrechnung der 16GiB in Exponentialschreibweise, ohne das man dazu einen Taschenrechner bemühen muss.

Bearbeitet von FISI-I

Letztendlich muss man mit ABRUNDEN(log_2(x)) + 1 rechnen.

ABRUNDEN(log_2(x)) liefert die 2-Potenz mit dem höchsten Exponenten. Im Beispiel wäre das die 34. An der Stelle 34 steht also eine 1. Wir fangen jedoch bei 0 an zu zählen.

  • 9 Monate später...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.