Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 13 von 13
  1. Beiträge anzeigen #1 Zitieren
    Schwertmeister Avatar von WidoR
    Registriert seit
    Mar 2008
    Ort
    Bonn
    Beiträge
    849
     
    WidoR ist offline

    Binärzahlensystem

    Hallo, zusammen!
    Wir haben gestern in Informatik "Negative Zahlen im Binärsystem" durchgenommen. Ich sitze zwar direkt an der Tafel, verstehe das aber nicht.

    Wir haben eine Zahl 5710 = 0011 10012 im Binärsystem.
    Jetzt wollen wir die negative Zahl -57 herausfinden. Das ist (laut einem Skript aus der Schule) 1100 01112.

    Jetzt verstehe ich nicht, wieso jetzt die 1100 01112 die -5710 im Dezimalsystem ist, wenn doch 1100 01112 eigentlich 19910 ist.

    Hoffentlich ist das Problem verständlich.


  2. Beiträge anzeigen #2 Zitieren
    banned
    Registriert seit
    Jan 2006
    Ort
    in civitate nostra Dresdene
    Beiträge
    5.218
     
    Langschlaefer ist offline
    Ich versteh' gerade nicht was die tiefergestellte "2" in den Zahlen zu suchen hat.
    Man könnte sie auch unmöglich in einem herkömmlichen dualen Rechensystem verwenden.

    Die 570.000.000.000 wäre im Binärsystem übrigens die 1000010010110110101001011100010000000000, und damit eine 40 Bit-Zahl.

    EDIT: Ok, da ich jetzt auch weis was mit der 10 gemeint war...vergiss mein Ergebnis.
    Geändert von Langschlaefer (02.09.2008 um 15:41 Uhr)

  3. Beiträge anzeigen #3 Zitieren
    Erzbaron Avatar von Mielas
    Registriert seit
    Nov 2003
    Ort
    █████████████████
    Beiträge
    12.227
     
    Mielas ist offline
    Zitat Zitat von Langschlaefer Beitrag anzeigen
    Ich versteh' gerade nicht was die tiefergestellte "2" in den Zahlen zu suchen hat.
    Man könnte sie auch unmöglich in einem herkömmlichen dualen Rechensystem verwenden.
    die 2 sagt, dass es sich um eine binäre zahl handeln

  4. Beiträge anzeigen #4 Zitieren
    banned
    Registriert seit
    Jan 2006
    Ort
    in civitate nostra Dresdene
    Beiträge
    5.218
     
    Langschlaefer ist offline
    Zitat Zitat von Mielas Beitrag anzeigen
    die 2 sagt, dass es sich um eine binäre zahl handeln
    Achso...Oh Gott, das bin ich garnichtmehr gewöhnt. XD

  5. Beiträge anzeigen #5 Zitieren
    Frau General Avatar von Victoria
    Registriert seit
    May 2005
    Beiträge
    3.915
     
    Victoria ist offline
    Zitat Zitat von HeiligerMadjai Beitrag anzeigen
    Jetzt wollen wir die negative Zahl -57 herausfinden. Das ist (laut einem Skript aus der Schule) 1100 01112.

    Jetzt verstehe ich nicht, wieso jetzt die 1100 01112 die -5710 im Dezimalsystem ist, wenn doch 1100 01112 eigentlich 19910 ist.

    Hoffentlich ist das Problem verständlich.
    Vielleicht lasst ihr den Zahlenbereich der Variable überlaufen, sodass der Wert in den negativen Bereich überspringt, und dann bis -57 'raufgedrückt' wird.

    Von welchem Datentyp ist denn die Variable? int, double,...
    There are no rules, there's only passion
    My passion gives me energy
    My dreams guide me to my future
    My determination will break my chains
    My thoughts will set me free

  6. Beiträge anzeigen #6 Zitieren
    Schwertmeister Avatar von WidoR
    Registriert seit
    Mar 2008
    Ort
    Bonn
    Beiträge
    849
     
    WidoR ist offline
    Zitat Zitat von Siddhartha Beitrag anzeigen
    Vielleicht lasst ihr den Zahlenbereich der Variable überlaufen, sodass der Wert in den negativen Bereich überspringt, und dann bis -57 'raufgedrückt' wird.

    Von welchem Datentyp ist denn die Variable? int, double,...
    Puhh, keine Ahnung. Davon steht in dem Skript nichts drin.
    Da steht nur sowas von einer 4-Bit-Darstellung. Da könnte dann die 10002 +8 und -8 bedeuten.
    Aber von einem Datentyp seh ich da nichts.


  7. Beiträge anzeigen #7 Zitieren
    banned
    Registriert seit
    Jan 2006
    Ort
    in civitate nostra Dresdene
    Beiträge
    5.218
     
    Langschlaefer ist offline
    So...und mit dem wissen was diesmal gemeint is':
    Dieses Ergebnis der negativen Zahl resultiert darauß, dass man negative Zahlen mit einem Vorzeichen darstellen muss, dafür hält die "1" her.
    (Achtung! Man muss wissen ob mit negativen oder positiven Zahlen gearbeitet wird da beide eine "1" als erstes Zeichen besitzen können)

    Natürlich kann die "-1" nun keine "0001" mehr sein, also nahm man für negative Zahlen auch eine ganz andere Ziffernfolge.

    Bei 3-Bit-Zahlen sieht das dan bspw. folgendermaßen aus:
    [Bild: 05.jpg]

    Bevor man sich allerdings die Mühe macht und die Anordnung der Ziffern welche die negativen Zahlen darstellen auswendig lernt, sollte man negative Zahlen lieber über das Zweierkomplement berechnen.

  8. Beiträge anzeigen #8 Zitieren
    banned
    Registriert seit
    Jul 2008
    Ort
    Hölle
    Beiträge
    858
     
    Ruby ist offline
    Also wir haben es so gerlernt, dass die erste Ziffer das Vorzeichen ist. Man konnte so auch addieren, subtrahieren, multiplizieren und dividieren ganze ohne Probleme.

  9. Beiträge anzeigen #9 Zitieren
    Ehrengarde Avatar von Hüter der Wahrheit
    Registriert seit
    Jun 2008
    Beiträge
    2.915
     
    Hüter der Wahrheit ist offline
    Es gibt 10 Sorten von Menschen: Solche, die das Binärsystem verstehen, und solche, die es nicht tun.
    "Wer von der Quantentheorie nicht schockiert ist, versteht sie nicht." Niels Bohr, 1927

    "Niemand versteht die Quantentheorie." Richard Feynman, 1967

  10. Beiträge anzeigen #10 Zitieren
    Schwertmeister Avatar von WidoR
    Registriert seit
    Mar 2008
    Ort
    Bonn
    Beiträge
    849
     
    WidoR ist offline
    Ich glaube, dass ich die Umwandlung einigermaßen verstanden habe.

    Prüfung: (Bitte posten, falls falsch!)

    Wir haben eine positive Zahl 31. Wir wollen die negative Zahl -31 herausfinden.

    3110 = 0001 11112 -> Negation
    -3110 = 1110 00002 -> Mit 110 addieren

    + 0000 00012
    = 1110 00012

    -128+64+32+1 = -3110

    So, und wie kann man jetzt die positive und die negative Zahl auseinanderhalten? Es kann ja auch sein, dass 1110 00012 = 25510 ist.
    Aber bei einer 8-Bit-Binärzahl kann man nur Zahlen von -128 bin +127 darstellen, also muss dann die Zahl 1110 00012 negativ sein, weil sie zu groß für
    8-Bit ist.
    Kann man positive und negative Zahlen dadurch auseinander halten, indem man die Binärzahl umwandelt und guckt, ob die umgewandelte Zahl im Bereich zwischen -128 und +127 liegt (bei 8-Bit)?
    Wenn sie drüber oder drunter liegt, ist sie negativ; wenn in dem Bereich, dann ist die positiv?


    Ist bei mir jetzt alles im grünen Bereich?


  11. Beiträge anzeigen #11 Zitieren
    Provinzheld Avatar von ~CrazyClown~
    Registriert seit
    Nov 2006
    Ort
    Zirkus
    Beiträge
    297
     
    ~CrazyClown~ ist offline
    Wie Langschlaefer schon sagte kann man die negative Binärzahl durch das Zweierkomplement berechnen.
    Das geht einfach durch "kippen und eins dazu", heißt in der Zahl werden alle 1 durch 0, und alle 0 durch 1 ersetzt und das Vorzeichen auch auf 1 gesetzt.
    In diesem Beispiel folgendermaßen:
    0011 1001 = 1|100 0110 gekippt, + 1 = 1|100 0111.

  12. Beiträge anzeigen #12 Zitieren
    banned
    Registriert seit
    Jan 2006
    Ort
    in civitate nostra Dresdene
    Beiträge
    5.218
     
    Langschlaefer ist offline
    Zitat Zitat von HeiligerMadjai Beitrag anzeigen
    Ich glaube, dass ich die Umwandlung einigermaßen verstanden habe.

    Prüfung: (Bitte posten, falls falsch!)

    Wir haben eine positive Zahl 31. Wir wollen die negative Zahl -31 herausfinden.

    3110 = 0001 11112 -> Negation
    -3110 = 1110 00002 -> Mit 110 addieren

    + 0000 00012
    = 1110 00012

    -128+64+32+1 = -3110
    Rüschdüttsch
    So, und wie kann man jetzt die positive und die negative Zahl auseinanderhalten? Es kann ja auch sein, dass 1110 00012 = 25510 ist.
    Aber bei einer 8-Bit-Binärzahl kann man nur Zahlen von -128 bin +127 darstellen, also muss dann die Zahl 1110 00012 negativ sein, weil sie zu groß für
    8-Bit ist.
    Grundsätzlich kann man sie nicht auseinanderhalten, deshalb muss man vorher wissen mit wievielbitigen Zahlen man rechnet und ob negative dabei sind.
    Sind negative Zahlen dabei, geht man grundsätzlich bei Zahlen, deren erstes Bit eine "1" darstellt von einer negativen Zahl aus...man benötigt dann eben ein Bit mehr um auf positive durch eine "0" vorne dran aufmerksam zu machen.
    Kann man positive und negative Zahlen dadurch auseinander halten, indem man die Binärzahl umwandelt und guckt, ob die umgewandelte Zahl im Bereich zwischen -128 und +127 liegt (bei 8-Bit)?
    Wenn sie drüber oder drunter liegt, ist sie negativ; wenn in dem Bereich, dann ist die positiv?
    Wäre mir neu...

  13. Beiträge anzeigen #13 Zitieren
    Ritter Avatar von Innos Zorn
    Registriert seit
    May 2004
    Ort
    unterfranken
    Beiträge
    1.069
     
    Innos Zorn ist offline
    also aus der Informatik kenne ich das so: negative zahlen werden von 0 ( abgezogen. Sprich wenn man ins negative geht, nimmt man die mit dem Bitsystem größte Zahl als -1 an und es wird ein Minusflag gesetzt.
    Bei 4 Bit: 0000 - 1 = 1111
    bei 8 Bit: 0000 0000 -1 = 1111 1111

    -2:
    Bei 4 Bit: 0000 - 2 = 1110
    bei 8 Bit: 0000 0000 -2 = 1111 1110

    Jetzt verstehe ich nicht, wieso jetzt die 1100 0111 die -57 im Dezimalsystem ist, wenn doch 1100 0111 eigentlich 199 ist.
    199 + 57 = 256 = 1 0000 0000, das ist quasi Null (0000 0000), da 256 mit einem 8 Bitsystem nicht mehr darstellbar ist.
    255 ist dabei die größtmögliche mit 8 Bit darzustellende Zahl, diese ist quasi die minus 1

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide