Integer Intervall < Fortran < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:49 Di 21.04.2009 | Autor: | thadod |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Hey ihr Informatiker
Das ich Informatik hatte ist leider etwas länger her. Mittlerweile glaube ich gut 3-4 Jahre zum Abi das letztemal, deshalb habe ich leider ein paar Probleme.
Zur Zeit studiere ich Maschinenbau Bachelor und muss informationstechnik als Pflichtfach besuchen.
Uns wurde hier der Begriff Integer vor Augen geführt.
Zunächst aber vielleicht mal zu dem, was mir noch ein Begriff ist.
Es gibt ja die sog. Binärzeichen 0 und 1.
Jedes dieser Binärzeichen hat 1 Bit.
Soll heißen 4 Bit hat insgesamt 4 Binärzeichen.
Wenn ich nun die Darstellung der ganzen Zahlen (Dualzahlen) wähle spreche ich ja im Prinzip von nichts anderem als vom Begriff Integer.
Soll heißen ich kann mit meinen 4 Bit höchstens die Binärzahl [mm] 1111_{2} [/mm] darstellen.
P.S. [mm] 1111_{2}=1*2^{3}+1*2^{2}+1*2^{1}+1*2^{0}=15
[/mm]
D.h. die größte mit 4 Bit darstellbare Zahl ist 15
Wir sollen nun eine Aussage darüber machen, welches Integer Intervall sich mit 32 Bit darstellen lässt. Ich benötige also insgesamt 32 Binärzahlen.
Was mir nun leider völlig unklar ist, ist das mit dem signed und unsigned bzw. mit oder ohne Vorzeichen.
Könntet ihr mir dieses Prinzip eventuell am Beispiel von den 4 Bit erklären??? Hier erhalte ich ja das Integer Intervall [0,15] aber signed oder unsigned bekomme ich ja auch ein anderes Intervall z.B. [-8,7].
Doch irgendwie kann ich mir das leider noch nicht so ganz zusammenreimen.
Ich hoffe wirklich sehr, dass ihr mir hier weiterhelfen könnt.
Ich danke euch schonmal im Vorraus.
MFG Thadod
|
|
|
|
die 4 Bit rühren ja daher: pro Stelle 2 Zustände (0 und 1) und 4 Stellen haben wir in diesem fall, ergibt [mm] 2^4 [/mm] = 16 Zustände. Also könnten wir die Zahlen 0-15 abdecken [weils 16 unterschiedliche sind], was dann dem unsigned entspricht, da nur positivwerte vorkommen. Wenn wir auch negative Zahlen damit abdecken wollen, verschieben wir den Zahlenbereich um die Hälfte nach unten:
[mm] 2^4 [/mm] = 16
16/2 = 8
untere Grenze ist dann -8 und die obere 7 (die Null gehört zum positiven Bereich, also einen abziehen).
Bei 1 Byte = 8 Bit wärens dann [mm] 2^8 [/mm] = 256 Zustände, darstellbar sind die Zahlen 0-255.
Beim signed wieder den halben Wertebereich verschieben: [mm] 2^8=256
[/mm]
256/2= 128
Also ist untere Grenze -128, obere dann 127.
Formell auch bei ner n-stelligen Dualzahl:
Wertebereich vom unsigned: 0 bis [mm] 2^{n}-1
[/mm]
Wertebereich vom signed: [mm] -2^{n-1} [/mm] bis [mm] 2^{n-1}-1
[/mm]
|
|
|
|