negative Zahlen mit toString in Dual wandeln
roger
- javascript
0 Vinzenz Mai0 roger1 Vinzenz Mai0 roger
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
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
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
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
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
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