___ qstntxt ___
Ich habe eine Methode erstellt, um ein bin
in ein Bitfeld (in einer Liste) zu konvertieren, und es funktioniert, aber ich bin mir sicher, dass es elegantere Lösungen gibt - ich habe es nur zu lange angeguckt.
Ich bin neugierig, wie würden Sie ein bit_length
in ein Bitfeld umwandeln, das in %code% dargestellt ist?
%Vor%
___ answer10322105 ___
Versuchen Sie
%Vor%
Dies funktioniert nicht für negative n obwohl und wie Sie sehen, gibt Ihnen eine Liste von Zeichenfolgen
___ answer30449601 ___
Ich mache das für mein Programm, wo Sie eine Vorlage angeben, um Ihre Werte von einem int zu erhalten:
%Vor%
Verwendung
Geben Sie in der Vorlage Ints für Ihre Bitgrößen an:
%Vor%
oder Sie können die Bitgröße für jeden benötigten Wert mit Strings angeben: (noob friendly)
%Vor%
EDIT: und umgekehrt: (separater Code)
%Vor%
der Code:
%Vor%
EDIT2: schneller Code ^
___ tag123list ___ Liste kann sich beziehen auf: eine verkettete Liste (eine geordnete Menge von Knoten, die jeweils auf ihren Nachfolger verweisen) oder eine Form eines dynamischen Arrays. Um nicht für HTML-Listen verwendet zu werden, verwenden Sie stattdessen [html-lists].
___ antwort10322122 ___
Dies verwendet nicht %code% :
%Vor%
und so behandelt man jede ganze Zahl:
%Vor%
Siehe %code% .
Wenn der Index 0 der Liste dem lsb des Int entsprechen soll, ändern Sie die Bereichsreihenfolge, d. h.
%Vor%
Beachten Sie auch, dass die Verwendung von n.bit_length () ein Fehlerpunkt sein kann, wenn Sie Binärwerte mit fester Länge darstellen möchten. Es gibt die minimale Anzahl von Bits zurück, um n darzustellen.
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend.
___ tag123bitfields ___ Ein Bitfeld wird verwendet, um mehrere logische Werte kompakt als eine kurze Reihe von Bits zu speichern, wobei jedes der einzelnen Bits getrennt adressiert werden kann.
___ answer10322018 ___
Wie wäre es damit:
%Vor%
Das gibt Ihnen
%Vor%
Dies funktioniert jedoch nur für positive ganze Zahlen.
BEARBEITEN:
Die Konvertierung in %code% mit %code% ist hier etwas zu viel. Das ist viel schneller:
%Vor%
Siehe die Zeiten:
%Vor%
___ qstnhdr ___ Integer zu Bitfeld als Liste
___