Matroids Matheplanet Forum Index
Moderiert von matroid
Informatik » Algorithmen / Datenstrukturen » Zeigen, dass Formel für Berechnung der Bitlänge gilt
Druckversion
Druckversion
Autor
Universität/Hochschule J Zeigen, dass Formel für Berechnung der Bitlänge gilt
Chrispyk
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.09.2020
Mitteilungen: 8
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-09-01


Guten Tag, ich könnte etwas Hilfe zu folgender Aufgabe gebrauchen:

Die Bitlänge \(l_2(a)\) einer Zahl \(a \in \mathbb{N_0}\) ist die Anzahl der Bits, die zur Darstellung der Zahl benötigt wird, d. h. die Anzahl der Stellen in der Binärdarstellung von \(a.\)

Zeigen Sie:
(i) Für alle \(a \in \mathbb{N}\) gilt \( l_2(a) = \lfloor log_2 (a)\rfloor  + 1\)
(ii)Für alle \(a \in \mathbb{N_0}\) gilt \( l_2(a) = \lceil log_2 (a+1)\rceil \)

Mein Ansatz:
(i)
 \( l_2(a) = \lfloor log_2 (2^n)\rfloor  + 1\)

 \( l_2(a) = \lfloor n\rfloor  + 1\)

Wie stelle ich jetzt einen zusammenhang zwischen \(l_2(a)\) und \(n\) her?
Und wie löst man Floor/Ceiling auf?
Bei der zweiten Aufgabe weiß ich leider noch weniger weiter.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6672
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-09-01


Hallo Chrispyk,

das mit dem n ist doch schon mal ne ganz gute Idee.

Setze einfach \(n:=l_2(a)\). Dann ist \(2^{n-1}\leq a<2^n\). Klar wieso? Bekommst du den Rest nun selbst hin?

Bei (ii) gilt \(2^{n-1}<a+1\leq2^n\). Allerdings sehe ich nicht, wieso die Formel für a = 0 gelten soll. 0 hat doch 1 Binärziffer.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Chrispyk
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.09.2020
Mitteilungen: 8
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2020-09-02


\(n = \lfloor log_2(a) \rfloor + 1\)

mit \(2^{n-1} \le a \lt 2^n\) da \(2^n\) Bits nur die Zahlen von \(0\) bis \(2^{n-1}\) darstellen können.

Das bedeutet, dass die Floorfunktion alles auf genau \(2^{n-1}\) abrundet.

\(n = log_2(2^{n-1})  + 1\)

\(n = n-1 + 1\)

\(n = n\)

Vielen Dank dafür StrgAltEntf.

Zu Aufgabe (ii): Ich hab mal geguckt ob ich die Aufgabe falsch abgetippt habe, ist aber nicht der Fall. Ist mir auch ein Rätsel, ich frag mal meinen Prof.




Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6672
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-09-02


An einer Stelle hast du n mit \(2^n\) verwechselt. Außerdem finde ich noch ein wenig schwammig formuliert, was du schreibst.

Verwende folgende Definition der Floor-Funktion:

Für \(x\in\IR\) ist \(\lfloor x\rfloor\) die (eindeutig bestimmte) ganze Zahl k, für die \(k\leq x<k+1\).

Beweise damit die Aussage (i)

Analog:

Für \(x\in\IR\) ist \(\lceil x\rceil\) die (eindeutig bestimmte) ganze Zahl k, für die \(k-1<x\leq k\).

Beweise damit die Aussage (ii) für a > 0.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Chrispyk
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.09.2020
Mitteilungen: 8
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2020-09-02


\(l_2(a) = n = \lfloor log_2(a) \rfloor + 1\)

Da das \(n\)te Bit denn darstellbaren Zahlenbereich um \(2^{n-1}\) bis \(2^n-1\) erweitert und die Anzahl der Bits repräsentiert, die zur Darstellung von \(a\) benötitgt werden, gilt:
\(2^{n-1} \le a \lt 2^n\).

daraus folgt:
\( log_2(2^{n-1}) \le log_2(a) \lt log_2(2^n) \)

Für \( x\in\IR \) ist \( \lfloor x\rfloor \) die (eindeutig bestimmte) ganze Zahl \(k\), für die \(k\leq x<k+1\) sodass:
\( \lfloor log_2(a)\rfloor = log_2(2^{n-1})\)

\(n = log_2(2^{n-1})  + 1\)

\(n = n-1 + 1\)

\(n = n\)

Die zweite Aufgabe sieht vom Prinzip her gleich aus.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6672
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2020-09-03


Vermutlich sind deine Gedankengänge richtig. Aber die Form der Darstellung gefällt mir noch nicht.

2020-09-02 17:39 - Chrispyk in Beitrag No. 4 schreibt:
\(2^{n-1} \le a \lt 2^n\).

daraus folgt:
\( log_2(2^{n-1}) \le log_2(a) \lt log_2(2^n) \)

Für \( x\in\IR \) ist \( \lfloor x\rfloor \) die (eindeutig bestimmte) ganze Zahl \(k\), für die \(k\leq x<k+1\) sodass:
\( \lfloor log_2(a)\rfloor = log_2(2^{n-1})\)

\(n = log_2(2^{n-1})  + 1\)

\(n = n-1 + 1\)

\(n = n\)

Ich würde es eher so aufschreiben:

Aus
\(2^{n-1} \le a \lt 2^n\)
folgt
\(\log_2(2^{n-1})\le\log_2(a)\lt\log_2(2^n)\),
also
\(n-1 \le\log_2(a) \lt n\).

Für \( x\in\IR \) ist \(\lfloor x\rfloor\) die (eindeutig bestimmte) ganze Zahl \(k\), für die \(k\leq x<k+1\)

Mit k = n - 1 ist also
\(\lfloor\log_2(a)\rfloor=n-1\)
bzw.
\(n=\lfloor\log_2(a)\rfloor+1\)

Grüße
StrgAltEntf



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Chrispyk
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 01.09.2020
Mitteilungen: 8
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2020-09-04


Ja, die Darstellung fällt mir öfter schwer.
Vielen Danke für deine Hilfe.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Chrispyk hat die Antworten auf ihre/seine Frage gesehen.
Chrispyk hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]