Umrechnung von Zahlensystemen
Eingestellt: 16.02.2009
Letzte Änderung: 16.02.2009
Einleitung
Zur Umwandlung von Zahlensystemen stellt Excel im Add-In Analyse-Funktionen die Arbeitsblattfunktionen DEZINBIN, DEZINOKT, BININDEZ, OKTINDEZ und HEXINDEZ zur Verfügung. Eine Umrechnung kann daher lediglich vom Dezimal- ins Binär- (bzw. Oktal- oder Hexadezimal-)system vice versa erfolgen. Zudem unterliegen einige dieser Excel-Funktionen einer starken Beschränkung bzgl. der Größe der umzuwandelnden Zahl.
In einer Kooperationsarbeit von Maninweb und Excel4Managers entstanden folgende Funktionen, die eine Umrechnung in zahlreiche Zahlensysteme mit natürlicher Basis ermöglichen und einige der Größenrestriktionen schwächer formulieren.
Gerne freuen wir uns über Anregungen, Verbesserungsvorschläge oder einfach nur über eine Rückmeldung.
DEC2X
Die Funktion DEC2X wandelt ausgehend vom Dezimalsystem eine Zahl z in ein Zahlensystem mit natürlicher Basis n um. Während üblicherweise auf eine Subtraktion zur Bestimmung der jeweiligen Restzahl zurückgegriffen wird, geschieht dies hier anhand der Gleichung q, wobei sich die Anzahl der Schleifendurchläufe durch die Gleichung k ergibt. Dieses Verfahren ist äquivalent zu der Subtraktionsmethode.
FunctionDEC2X(zAs Long, nAs Long)As String
DimjAs Integer
DimkAs Integer
DimqAs Integer
DimrAs String
IfIsNumeric(z)AndIsNumeric(n)Then
k = Int(Evaluate(Log(z) / Log(n))) + 1
Forj = 1Tok
q = Int(z / n ^ (j - 1))Modn
Ifq > 9Then
r = Chr(q + 55) & r
Else
r = q & r
End If
Nextj
DEC2X = r
Else
DEC2X = "#NV"
End IfEnd Function
X2DEC
Demgegenüber wandelt die Funktion X2DEC von einem Zahlensystem mit natürlicher Basis n eine (alpha-)numerische Zahl z in das Dezimalsystem um.
FunctionX2DEC(zAs String, nAs Long)As Long
DimjAs Long
DimrAs Long
IfIsNumeric(n)Then
Forj = 1ToLen(z)
IfAsc(Mid(z, j, 1)) > 64Then
r = r + n ^ (Len(z) - j) * _
(Asc(Mid(z, j, 1)) - 55)
Else
r = r + n ^ (Len(z) - j) *CLng(Mid(z, j, 1))
End If
Nextj
X2DEC = r
Else
X2DEC = "#NV"
End IfEnd Function
Beispielmappe
In dem korrespondierenden Artikel von Maninweb finden Sie zusätzliche Informationen sowie eine Beispielmappe: DE.Zahlensysteme.zip.
Haben Sie Fragen oder Anregungen zu diesem Artikel?
Dann senden Sie einfach eine Nachricht an:
E-Mail:
Lesen Sie auch:
___________________________________________________________________