Konvertieren von Dezimalstellen in sexagesimal (Basis sechzig) in Javascript

8

Was ist der beste Weg, um Dezimalzahlen (Basis zehn) in Sexagesimal (Basis sechzig) konvertiert als eine Zeichenfolge mit 0-9, A-Z und a-x als Ziffern.

Ich plane, es in Javascript zu kodieren, aber jede Hilfe wird geschätzt.

Verwendungsbeispiel:

%Vor%

Der letzte Code, den ich verwendet habe, basiert auf Paolos Antwort:

%Vor%     
Annan 18.03.2009, 04:12
quelle

4 Antworten

2

Dies funktioniert mit den bereitgestellten Testdaten, aber Sie möchten wahrscheinlich noch ein paar Tests durchführen:

%Vor%     
Paolo Bergantino 18.03.2009, 04:49
quelle
0

Beginnen Sie, indem Sie die Zahl in eine Ganzzahl und einen Bruchteil aufteilen.

Für den ganzzahligen Teil, nehmen Sie das Modul, um die niedrigstwertige Stelle zu ziehen, dann dividieren Sie durch 60 und wiederholen Sie.

Multiplizieren Sie den Bruchteil wiederholt mit 60 und nehmen Sie den ganzzahligen Teil, um die Ergebnisziffern zu erhalten. Wenn Sie jemals mit Null enden, was unwahrscheinlich ist, sind Sie fertig. Es ist wahrscheinlicher, dass Sie nach dem Extrahieren einer bestimmten Anzahl von Ziffern beenden möchten.

    
David Norman 18.03.2009 04:50
quelle
0

Teilen Sie es einfach wiederholt durch 60, bis Sie mit Null verlassen werden. Nehmen Sie jedes Mal den Modulus und konvertieren Sie ihn in das entsprechende Zeichen und fügen Sie ihn zu Ihrer Ausgabezeichenfolge hinzu.

Bearbeiten: Für Dezimalstellen, sagen Sie, dass Sie bis zu 3 60 Dezimalstellen suchen:

Beginnen Sie mit 0.98765 (Basis 10)

%Vor%

So wird 0.98765 (Basis 10) 0. [59] [15] [32] (Basis 60)

    
Chris 18.03.2009 04:18
quelle
0

Was es wert ist, hier ist eine Modifikation der Lösung, um auf jede Basis bis zu 64 zu konvertieren:

%Vor%

Sie können damit spielen: Ссылка

    
Kai Carver 31.12.2010 21:32
quelle

Tags und Links