Wie konvertiert man eine dezimale Basis (10) in eine negative Basis (-2)?

9

Ich möchte ein Programm schreiben, um von dezimal in negabinary zu konvertieren.

Ich kann nicht herausfinden, wie man von dezimal in negabinary umwandelt.

Ich habe keine Ahnung, wie man die Regel findet und wie sie funktioniert.

Beispiel: 7(base10)-->11011(base-2)

Ich weiß nur, dass es 7 = (-2)^0*1 + (-2)^1*1 + (-2)^2*0 + (-2)^3*1 + (-2)^4*1 ist.

    
Liang-Yu Pan 17.02.2012, 15:28
quelle

3 Antworten

10

Der Algorithmus ist in Ссылка beschrieben. Grundsätzlich wählen Sie einfach den Rest als positiven Basisfall und stellen Sie sicher, dass der Rest nicht negativ und minimal ist.

%Vor%     
kennytm 17.02.2012, 17:17
quelle
3

Nur meine zwei Cent (C #):

%Vor%     
Mario Galván 11.01.2016 23:01
quelle
1

Es gibt eine Methode (zugeschrieben von Librik / Suddzik / Schröppel), die viel effizienter ist:

%Vor%

Die Umrechnungsmethode und ihre Umkehrung werden ausführlicher in diese Antwort .

    
m69 07.06.2016 05:00
quelle

Tags und Links