Was ist die Kleinste NEGATIVE Zahl die man mit 8 Bit darstellen kann?
Hallo, ich wollte fragen ob von euch jemand weiß, was die kleinste NEGATIVE Zahl ist die man mit 8 Bit darstellen.
Ist es -128? Oder ist das die Größte negative Zahl die ich mit 8 Bit darstellen kann.
Oder ist es einfach -1?
Der Wertbereich von Zahlen ohne Vorzeichen liegt von 0-255.
Der Bereich kann sich ja von -128 bis zu +127 (=255) verändern oder, da das Bit an der Achten Stelle immer das Vorzeichen angibt.
Danke im Voraus
6 Antworten
Mit -128 liegst Du richtig, wenn wir unterstellen, dass das Zweierkomplement verwendet wird.
0111 1111 = +127 (die groesste Zahl)
...
0000 0000 = 0
1111 1111 = -1
...
1000 0000 = -128 (die kleinste Zahl)
Angenommen, wir reden von Ganzzahlen und im Zweierkomplement.
Du hast 8 Bit zur Verfügung und das erste Bit ist das Vorzeichenbit.
Ist es -128?
Ja
Die größte positive Zahl ist also 0111 1111 und die kleinste negative Zahl ist die 1111 1111
Oder ist das die Größte negative Zahl die ich mit 8 Bit darstellen kann.
die größte negative Ganzzahl wäre offensichtlich -1
-128
Signed int mit 8 Bit geht von -128 bis 127
Falls Du nicht signed int meinst, dann -255.
Du machst die Rechnung ohne die Codierung... Es kommt darauf an, wie die Bits interpretiert.
- Wenn das erste Bit als Vorzeichen interpretiert wird, ist die kleinste darstellbare Zahl -128
- Wenn kein Vorzeichen interpretiert wird ist die kleinste Zahl 0
- Wenn man die Bits komplett anders interpretiert, hängt es davon ab, wie man sie interpretiert. Üblicherweise interpretiert man sie aber nicht anders und verbleibt bei 1. oder 2.
Es kann natürlich sein, dass in der Fragestellung die kleinste Zahl vom Betrag her gemeint ist... das wäre die -1.
(Das ist nur von unten kopiert was ich gerade jemand anderes auch gefragt habe,
also nicht wundern wenn nicht alles gerade Deutsch klingt.)
Und die kleinste darstellbare negative Zahl mit 8 Bit ist dann -128 ?
Wenn ich die "kleinste" im Sinne von negativ sage, ist ja eigentlich die größte negative Zahl gemeint. Also ich meine -128 ist die KLEINSTE negative Zahl mit 8 Bit's, aber eigentlich ist 128 ja GRÖßER als 1.
Verstehen Sie was ich meine?
Zusammengefasst:
8 Bits: 256 Möglichkeiten, jedoch wird 1 Bit für + oder - verwendet, deshalb nur 255.
Von -128, bis 127.
-128 ist die kleinste negative Zahl die mit 8 Bit darstellabr ist.
-1 ist die größte negative Zahl die mit 8 Bit darstellabr ist.
1 ist die kleinste positive Zahl die mit 8 Bit darstellbar ist.
127 ist die größte positive Zahl die mit 8 Bit darstellbar ist.
Wenn ich z.B.: 10 im Dezi-System habe und 10 ins Binär System haben will, dann muss ich zuerst 10 in Binär umwandeln -> 1010.
Dann muss ich das 1 Komplement anwenden und alle 0 und 1 inventieren.
Dann kommt das 2 Komplement, mit dem muss ich einfach nur 1 zu 1010 addieren, richtig?
Da würde dann ja 1001 rauskommen, oder?
Mit 8 Bit hat man 256 Möglichkeiten etwas zu codieren.... was auch immer du codieren willst.
Und wenn ein Bit für "signed" draufgeht um Ganzzahlen zu codieren, dann hast du die Hälfte der Möglichkeiten (128) für den Betrag der darzustellenden Zahl übrig. Blöd nur, dass du auch die 0 darstellen musst, weshalb in eine Richtung nur ein Betrag von 127 übrig bleibt.
Deshalb: signed byte -> -128 bis 127
Deshalb: unsigned byte -> 0 bis 255
Ich denke mal -127 = 1111 1111
allerdings habe ich keine Ahnung wie man dem Computer sagt, dass die erste eins das Vorzeichen ist, denn gelernt habe ich das 1111 1111 = 128 ist.
Nicht ganz...
11111111 (binär) = -1 in der am meisten verwendeten Zweierkomplementdarstellung.
-128 = 10000000 wäre die kleinste darstellbare Zahl
und 128 wäre 1 0000 0000, braucht also 9 Stellen. (Eine 9 stellige Binärzahl hat 128 verschiedene Möglichkeiten, aber eine Möglichkeit davon ist schon die 0, bleiben also 127 Zahlen)
Der 8 Bit bestimmt immer das Vorzeichen, also ob es ein + oder ein - ist.
Wenn vorne eine 0 ist dann ist es positiv, mit 1 vorne negativ.
Jedoch kann ich nicht einfach vorne 1/0 hinschreiben, sondern muss das 1 und 2 Komplement verwenden.
also bei dem Zweierkomplement wäre doch 1000 0000 = -128 oder nicht?
falsch rum es geht von -128 bis 127 , da das erste bit ja nicht gezählt wird .
255 - 128 = 127
du hast die 0 vergessen , die wäre der 256te anteil .
da man zweierkomplementär verwendet ist es immer +1 deswegen ergibt es die 128
weil inverse +1
also 128 = 1000 0000 inverse 0111 1111 +1 = 1000 0000 , macht 128 und vorzeichen - = -128
@TechPech1984 Also die größte darstellbare negative Zahl mit 8 Bit ist -1 oder?
Und die kleinste darstellbare negative Zahl mit 8 Bit ist dann -128 ?
Wenn ich die "kleinste" im Sinne von negativ sage, ist ja eigentlich die größte negative Zahl gemeint. Also ich meine -128 ist die KLEINSTE negative Zahl mit 8 Bit's, aber eigentlich ist 128 ja GRÖßER als 1.
Verstehen Sie was ich meine?
Zusammengefasst:
8 Bits: 256 Möglichkeiten, jedoch wird 1 Bit für + oder - verwendet, deshalb nur 255.
Von -128, bis 127.
-128 ist die kleinste negative Zahl die mit 8 Bit darstellabr ist.
-1 ist die größte negative Zahl die mit 8 Bit darstellabr ist.
1 ist die kleinste positive Zahl die mit 8 Bit darstellbar ist.
127 ist die größte positive Zahl die mit 8 Bit darstellbar ist.
Wenn ich z.B.: 10 im Dezi-System habe und 10 ins Binär System haben will, dann muss ich zuerst 10 in Binär umwandeln -> 1010.
Dann muss ich das 1 Komplement anwenden und alle 0 und 1 inventieren.
Dann kommt das 2 Komplement, mit dem muss ich einfach nur 1 zu 1010 addieren, richtig?
Da würde dann ja 1001 rauskommen, oder?
Wenn ich z.B.: 10 im Dezi-System habe und 10 ins Binär System haben will, dann muss ich zuerst 10 in Binär umwandeln -> 1010.
Dann muss ich das 1 Komplement anwenden und alle 0 und 1 inventieren.
Dann kommt das 2 Komplement, mit dem muss ich einfach nur 1 zu 1010 addieren, richtig?
Da würde dann ja 1001 rauskommen, oder?
also wenn ich 1010 +1 mache kommt da 1011 raus aber egal
das zweierkomplement wird nur bei negativen zahlen angewendet um damit rechnen zu können .
10 ist eine positive zahl ergo bleibt das so wie es ist .
Nein, ich meinte ich muss zuerst das 1 Komplement anwenden, dass ich die positive 10 zu einer negativen 10 Machen kann. Das 2 Komplement ist ja dann, dass ich meine Binäre invertierte Zahl überall mit 1 addiere.
So haben wir es halt gelernt.
vielleicht zeigt dir die tabelle wie rum es gezählt wird
https://en.wikipedia.org/wiki/Signed_number_representations#Two's_complement
Example: for +2, which is 00000010 in binary (the ~ character is the C bitwise NOT operator, so ~X means "invert all the bits in X"):
- ~00000010 → 11111101
- 11111101 + 1 → 11111110 (−2 in two's complement)
also 10
- ~0000 1010 -> 1111 0101
- 1111 0101+1 -> 1111 0110 = -10
Danke und was ist signed int?