Clever-Excel-Forum

Normale Version: Seltsames Verhalten bei Binärzahlen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo hab mir nur mal Binärzahlen anzeigen lassen. 

Da passiert folgendes:

[attachment=45623]

Wieso zeigt er die höheren Potenzen von 2 nicht an?
Moin!
Bist Du eventuell, zufällig, aus Versehen schon mal auf die Idee gekommen, die Hilfe zu DEZINBIN aufzurufen?
Falls nicht:
https://support.microsoft.com/de-de/offi...8?ns=excel

Gruß Ralf
=BASIS(512;2)
(07.11.2022, 15:48)RPP63 schrieb: [ -> ]Moin!
Bist Du eventuell, zufällig, aus Versehen schon mal auf die Idee gekommen, die Hilfe zu DEZINBIN aufzurufen?
Falls nicht:
https://support.microsoft.com/de-de/offi...8?ns=excel

Gruß Ralf

Danke Ralf, dann ist das also nur so eine Spiel-Funktion .... wenn man richtig lange Zahlen nicht umwandeln kann....
Bitte zitiere korrekt. Niemals voll; Teile sind nur selten nötig. Also am besten lassen.
Hallo Kurtkurt,

Dezimal nach Binär bis zu ca. 562 Billiononen (2 hoch 49 minus 1):

Function DezimalNachBinär(Zahl As Double) As String
Dim los As Boolean, Aus As String, Exp As Long
    If Zahl <= (2 ^ 49) - 1 And Zahl = Int(Zahl) Then
        For Exp = 48 To 0 Step -1
            If Zahl >= (2 ^ Exp) Then
                Aus = Aus & "1"
                Zahl = Zahl - (2 ^ Exp)
                los = True
            Else
                If los = True Then
                    Aus = Aus & "0"
                End If
            End If
        Next Exp
    Else
        Aus = "#Wert!"
    End If
    DezimalNachBinär = Aus
End Function


Gruß Sigi
Hi,

das in Excel eingebaute BASIS() schafft das aber für alle Zahlen <2^53 21
Das auch noch für alle Zahlensysteme bis 36.
Hallo Helmut,

die normale Excelsignifikanz sind doch "15 Stellen".
Bei 2 hoch 50 bist du schon über 15 Stellen! (?)

Gruß Sigi
Es wird doch intern gerechnet. Gebe ich ein Argument in die Funktion als "Zahl" und nicht als (Flaschenhals) "Bezug" ein, ist es nicht an die Genauigkeit gebunden, die für die Zellen gelten.

=BASIS(2^53-3;2)
Kein Base in E2010

Code:
Function F_snb(y)
  For j = 28 To 0 Step -1
    c00 = c00 & (y Mod 2 ^ (j + 1)) \ 2 ^ j
  Next
  F_snb = Mid(c00, InStr(c00, "1"))
End Function

Sub M_snb()
  MsgBox F_snb(2 ^ 26 + 13)
End Sub
Seiten: 1 2