Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Seltsames Verhalten bei Binärzahlen
#1
Hallo hab mir nur mal Binärzahlen anzeigen lassen. 

Da passiert folgendes:

   

Wieso zeigt er die höheren Potenzen von 2 nicht an?
Antworten Top
#2
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
=BASIS(512;2)
Antworten Top
#4
(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....
Antworten Top
#5
Bitte zitiere korrekt. Niemals voll; Teile sind nur selten nötig. Also am besten lassen.
Antworten Top
#6
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
Antworten Top
#7
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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#8
Hallo Helmut,

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

Gruß Sigi
Antworten Top
#9
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)
Antworten Top
#10
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
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste