Wie kann ich zwei Komplement konvertieren? Rechnerprogramm und Anwendungsbeispiel

11197
ssvarc

Mögliches Duplizieren:
Welchen Super-Rechner verwenden Sie?

Ich brauche ein Rechnerprogramm, das unter Windows 7 läuft und zwei Komplement-Konvertierungen durchführen kann. Konvertieren Sie ein Zweierkomplement speziell in reguläre Dezimalzahlen oder Binärzahlen. Mir wurde gesagt, dass das Win 7 calc dies tut.

Kann jemand ein klares, spezifisches Beispiel dafür geben, wie dies auf dem eingebauten calc (oder einem anderen frei verfügbaren Programm) geschieht? Vielen Dank!

3
Kannst du mir bitte sagen, wie man das auf dem eingebauten Rechner macht? Vielen Dank! vor 14 Jahren 0
Ansicht -> Programmierer oder Alt + 3 Robin Day vor 14 Jahren 2
Ich schaue auf die Programmierer-Ansicht und habe diesen Rechner gesehen, bevor ich ihn gepostet habe. Ich sehe hier nicht, wie man Coverversionen von / zu zwei ergänzten, und ich würde mich über spezifische Hilfe freuen. Vielen Dank! ssvarc vor 14 Jahren 0
@ssvarc - Ihre Frage wurde hier migriert, wo sie besser angepasst ist. Um den Besitz Ihrer Frage wiederzuerlangen, sollten Sie Ihr Super User-Konto mit Ihrem Stack Overflow-Konto in den Benutzeroptionen verknüpfen. Wenn Sie fertig sind, empfehle ich Ihnen, Ihre Frage entsprechend Ihrem letzten Kommentar zu bearbeiten. Wenn Ihre Frage das generische Suchprogramm ist, haben wir hier ein Duplikat, und Ihre Frage wird geschlossen. Gnoupi vor 14 Jahren 1
Bei dieser Frage handelt es sich nicht um ein Duplikat von http://superuser.com/questions/21950/what-super-calculator-do-you-use. Während einige dieser Tools die gewünschte Funktion haben könnten, stellt diese Frage auch die Frage, * wie Verwenden Sie diese Funktion *. Bitte schließen Sie dies nicht als Duplikat. quack quixote vor 14 Jahren 2
In diesem Fall kann das OP eine neue Frage stellen, in der genau dies angegeben wird. Eine einzelne Funktion oder Hilfe zur Verwendung von etwas macht es nicht weniger als ein Duplikat. Deshalb stellte er zwei getrennte Fragen. BinaryMisfit vor 14 Jahren 0

2 Antworten auf die Frage

3
ChrisF

Der Standardrechner hat dies eingebaut.

Wählen Sie Ansicht> Programmiergerät (Alt + 3).

Von PlanetMath :

Darüber hinaus werden negative Zahlen als Zweierkomplement angezeigt (und der Vorzeichenwechsel-Schlüssel führt zu Zweierkomplementierungen des angezeigten Werts).

Ich schaue auf die Programmierer-Ansicht und habe diesen Rechner gesehen, bevor ich ihn gepostet habe. Ich sehe hier nicht, wie man Coverversionen von / zu zwei ergänzten, und ich würde mich über spezifische Hilfe freuen. Vielen Dank! ssvarc vor 14 Jahren 1
@Ssvarc - BTW - Verknüpfen Sie Ihre SO- und SU-Konten, um den Besitz der Frage wiederherzustellen. ChrisF vor 14 Jahren 1
0
Jader Dias

Es gibt 2 kostenlose Skriptsprachen, die ebenfalls gute Rechner sind:

  1. Octave http://www.gnu.org/software/octave/download.html
  2. Python http://www.python.org/

Die Lösung für ein Zweierkomplement in jeder dieser Sprachen für die Nummer 8923:

Oktave

bitcmp (8923, 16)

Dabei ist 16 die Anzahl der Bits im Ergebnis

56612

Dies liegt daran, dass die Oktave nur bei bitweisen Operationen positive Zahlen behandelt

Python

~ 8923

Ergebnisse

-8924

Konvertierung von binär in dezimal

Oktave

bin2dec ("10001011011011")

Ergebnis

8923

Konvertierung von 2'er Ergänzung in Dezimalzahl

Oktave

bitcmp (bin2dec ("10001011011011"), 16)

Ergebnis

56612

PS: Octave-Befehle sollten auch in Matlab funktionieren

Ich freue mich darauf, * aus * Zweierkomplement in Dezimalzahlen oder reguläre Binärdateien zu konvertieren. ssvarc vor 14 Jahren 0
@Ssvarc Ich bearbeitete, um zu zeigen, wie aus Zweierkomplement konvertiert wird Jader Dias vor 14 Jahren 0
@Ssvarc Die Umkehrung des "Zweierkomplement" ist selbst. Wenn Sie also versuchen, "in" oder "von" zu konvertieren, ist dies dasselbe Jader Dias vor 14 Jahren 0
Ich folge immer noch nicht. Es tut uns leid. Wenn Sie sagen wollen, dass eine Zweierkomplement-Nummer und deren Gegenstück in regulärer Binärdarstellung dasselbe ist, dann ist dies nicht richtig. (Ich sehe, dass Sie dies anhand Ihrer obigen Beispiele erkennen, daher fehlt hier offensichtlich etwas.) ssvarc vor 14 Jahren 0
@Ssvar Ich fürchte, ich konnte mich nicht klarstellen. Was ich damit sagen will, ist, dass `bitcmp (bitcmp (x))` `x 'ist Jader Dias vor 14 Jahren 0