Coding Challenge #6 - Lösung - Dezimal in Binär

preview_player
Показать описание
Die Lösung zur 6. Coding Challenge.

_Discord:_

_Unterstützt mich - Danke!:_
Рекомендации по теме
Комментарии
Автор

Dass das mit dem int() nicht geklappt hat, hat mich auch erst wahnsinnig gemacht :DAber der shift-operator ist echt praktisch. Mit modulo konnte ich allerdings die if/else-Abfrage weglassen:

loesung = ""
while(x > 0):
loesung = str(x%2) + loesung
x = x >> 1

kaimueller
Автор

Ich habe es gelöst, indem ich das höchste gesetzte Bit gesucht und dann bei jedem niedrigeren Bit überprüft habe, ob dieses gesetzt ist. In Java war diese Umsetzung mehr als 20% schneller.

mr.unkreativ
Автор

def int2bin(i):
if i == 0:
return "0"
s=""
while i:
s = s + str(i%2)
i = i // 2
return s[::-1]

SkAndDestry
Автор

Bin zwar ein bisschen spät aber genau das war auch mein Problem, also das die letzten Zahlen falsch waren... Danke das dus erklärt hast 😂.

NoName-hsfi
Автор

du machst tolle videos. weiter so :D kannst du mir bitte erklären was '.text' macht.

niklaspablohanddrauf
Автор

Dachte mir schon das das mit /2 nichts geht weil ich es selber schon denn Gedanken hatte, aber mir dann im Kopf Beispiel gleich auf viel das es nicht gehen wird

philippkitzmuller
Автор

Ich habe das ein wenig anders gelöst. Was hälst du davon?

import sys

try:
zahl = int(input("Zahl eingeben:\n"))
except ValueError:
sys.exit(1)

binlist = []
binstr = ""

if zahl == 0:
binstr = "0"
else:
while zahl > 0:
binlist.append(zahl % 2)
zahl = zahl // 2

binlist = binlist[::-1]
binstr = "".join(str(e) for e in binlist)

print(binstr)

joplayfull
Автор

Hey ich bin neu im programmieren und will jetzt damit anfangen. Könnt ihr mir vielleicht Tipps geben wie ich das Interesse am programmieren nicht verliere und am Ball bleib? Danke :)

pascal.f
Автор

hi ^^
wie schützt du dich davor dass wenn vereinfacht zum Beispiel zwei leute eine zahl abfragen die eine lautet 4 und die andere 6. Der der die 4 bekommen hat schreibt einen fehlerhaften algorithmus, welcher ihm die binärzahl 110 (also dezimal 6) zurück an den Server schickt. (ich weiß das du größere Zahlen benutzt) :D

gibt der server dann success (was schlecht wäre, da der algorithmus fehlerhaft ist) zurück oder verknüpfst du die abfrage einer zahl mit der zusendung?

niklaspablohanddrauf
Автор

Welchen Editor benutzt du so fuer deine Zwecke am haeufigsten?

mycrushisachicken
Автор

Hi
ich wollte mir Kali in V-Box installieren aber habe nun leider den zweiten fehler bekommen nachdem ich den Vt-x Fehler fixen konnte.
wenn ich kali starte kommt die seite mit install Graphical install usw und wenn ich dann Graphical Install auswähle kommt danach:
This kernel requires an x86-64 cpu, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.

Kann mir jemand helfen??
LG GoldenPhoenix

marlonmtt
Автор

Hast Du eigentlich mal versucht was passiert wenn Du int(x / 2) mit int(x) / 2 ersetzt?

Moriarty
Автор

def recursive_decimal2binary(decimal, binaries=None):
if binaries is None:
binaries = []
binary = int(decimal % 2)
if binary is 1:
decimal = decimal - 1
binaries.append(binary)
if decimal == 0:
binaries.reverse()
solution = ''.join(str(e) for e in binaries)
return solution
return // 2, binaries)

Bis ich herausgefunden habe, dass ich doch lieber eine ganzzahlige division mit // machen soll, sind 30 Minuten vergangen. das hat mich so getriggert.

chralt