roger: negative Zahlen mit toString in Dual wandeln

Hallo,

ich habe negative Zahlen und benötige daraus eine Dualzahl (String)
Mit positiven Zahlen kein Problem, jedoch steht ja bei einer negativen Zahl das Vorzeichen vor der Zahl was der Befehl toString(2) als String ansieht und danach die Zahl als NaN kennzeichnet.

Bitte um dringende Hilfe
           Roger

  1. Hallo Roger,

    ich habe negative Zahlen und benötige daraus eine Dualzahl (String)

    wo ist das Problem? Beispiel

    3 wird im Dualsystem mit  11 dargestellt
    -3 wird im Dualsystem mit -11 dargestellt

    das sollte doch wirklich kein Problem darstellen.

    Mit positiven Zahlen kein Problem, jedoch steht ja bei einer negativen Zahl das Vorzeichen vor der Zahl was der Befehl toString(2) als String ansieht und danach die Zahl als NaN kennzeichnet.

    Ich vermute, Du möchtest etwas ganz anderes. Kann es sein, dass Du Deine negative Zahl so darstellen möchtest, wie die Bits einer entsprechenden vorzeichenbehafteten Ganzzahl? Das ist architektur- und typabhängig :-)

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      Ich vermute, Du möchtest etwas ganz anderes. Kann es sein, dass Du Deine negative Zahl so darstellen möchtest, wie die Bits einer entsprechenden vorzeichenbehafteten Ganzzahl? Das ist architektur- und typabhängig :-)

      wie kann ich es trotzdem anstellen? Das auch das Vorzeichen auch in einem Bit angezeigt wird?

      Gruß
        Roger

      1. Hallo Roger,

        Ich vermute, Du möchtest etwas ganz anderes. Kann es sein, dass Du Deine negative Zahl so darstellen möchtest, wie die Bits einer entsprechenden vorzeichenbehafteten Ganzzahl? Das ist architektur- und typabhängig :-)

        wie kann ich es trotzdem anstellen? Das auch das Vorzeichen auch in einem Bit angezeigt wird?

        Du musst Dich auf einen Datentyp und eine Architektur einigen :-)

        Beispiel: Eine 8-Bit-Signed Integer:
        -3: wird dargestellt durch 1111 1101

        Beispiel: Eine 16-Bit-Signed Integer:
        -3 wird wie folgt dargestellt: 1111 1111 1111 1101 (Wertigkeit)

        Auf einer Little-Endian-Maschine (wie z.B. der PC-Architektur) liegt das niederwertige Byte zuerst im Speicher, d.h. -3 sieht im Speicher wie folgt aus:

        low byte  high byte
        1111 1101 1111 1111

        auf einer Big-Endian-Machine dagegen

        high byte low byte
        1111 1111 1111 1101

        Ich vermute, dass Dich eher die Reihenfolge in der Wertigkeit als die Ablage im Speicher interessiert, so dass Dir Big-Endian reichte. Zur Darstellung der Zahlen kommst Du über das Zweierkomplement.

        Freundliche Grüße

        Vinzenz

        1. Hallo,

          gibt es hier nicht etwas fertiges, ich will ja nicht das Rad neu erfinden.
          Hat keiner einen 3 Zeiler herumliegen der mir aus einer negativen 32 Bit Zahl das entsprechene Bit-Muster mit Zweierkomplement oder einfach eine HEXzahl zurückliefert.

          Das Problem ist doch bestimmt nicht neu.

          Gruß
                   roger

          1. Hallo,

            gibt es hier nicht etwas fertiges, ich will ja nicht das Rad neu erfinden.

            ich hab' nichts Fertiges. Ich hab' das Problem ja auch noch nicht gehabt.

            Hat keiner einen 3 Zeiler herumliegen der mir aus einer negativen 32 Bit Zahl das entsprechene Bit-Muster mit Zweierkomplement oder einfach eine HEXzahl zurückliefert.

            function erzeuge_bit_muster(zahl) {  
                return [link:http://forum.de.selfhtml.org/hilfe/charta.htm#ueber-das-forum@title=ergebnis](zahl);  
            }  
            
            

            Was hast Du bisher versucht? Woran bist Du gescheitert?

            Grüße

            Vinzenz