[PYTHON] Programmieren, um in der Welt zu kämpfen ~ 5-2

bit.py


#-*- coding:utf-8 -*-

class Bitutils():

    
    def getBit(self,num,i):
        return(num & (1 << i) !=0 )
    
    def setBit(self,num1,i):
        return (num | (1 << i))
    
    def clearBit(self,num,i):
        mask = ~(1 << i)
        return num & mask
    
    def clearBitsMSBthroughI(self,num,i):
        mask = (1 << i) -1
        return num & mask
    
    def clearBitsIthrough(self,num,i):
        mask = ~((1 << (i+1)) -1)
    
    def updateBit(self,nim,i,v):
        mask = ~(1 << i)
        return (num & mask) | (v << i)
    
    def updateBit(self,n,m,i,j): #5-1
        allOnes = ~0
        
        left = allOnes << (j + 1)
        
        right = ((1<<i) - 1)
        
        mask = left|right
        
        n_cleared = n & mask
        m_shifted = m << i
        
        return n_cleared | m_shifted
    
    def printBinary(self,num): #5-2
        if num >= 1 or num <= 0:
            return "Error"
        tmp_str = ""
        tmp_str += "0."
        
        while num > 0:
            if len(tmp_str) >= 33:
                return "Error"
            r = num * 2
            if r >= 1:
                tmp_str += "1"
                num = r - 1
            else:
                tmp_str+= "0"
                num = r
                
        return tmp_str
            
            
            
    

if __name__ == '__main__':
    N = 1024
    M = 19
    i = 2
    j = 6
    b = Bitutils()
    
    #5-1
    #c = b.updateBit(N,M,i,j)
    #print(bin(c))
    
    #5-2
    c = b.printBinary(0.75)
    print(c)
    
    c = b.printBinary(0.875)
    print (c)

Ist dies in Python in Ordnung, wenn einer vorhandenen Zeichenfolge neue Zeichen hinzugefügt werden? Bedeutet dies, dass wir eine völlig neue Zeichenkette erstellen?

Recommended Posts

Programmieren, um in der Welt zu kämpfen ~ 5-1
Programmierung, um in der Welt zu kämpfen ~ 5-5,5-6
Programmieren, um in der Welt zu kämpfen 5-3
Programmieren, um in der Welt zu kämpfen ~ 5-2
Programmierung für den Kampf in der Welt - Kapitel 4
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.3 URLify
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel - 2,6-mal
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --2.4 Aufteilen der Liste
Beispiel für die Beantwortung von Python-Code-Antworten --2.7 Schnittknoten
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel - 1,8 "0" -Matrix
Beispiel für eine Python-Codelösung --1.6 Komprimierung von Zeichenketten
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.5 One-Shot-Konvertierung
"Ein Buch zum Trainieren von Programmierkenntnissen für den Kampf in der Welt" Python-Code-Antwortbeispiel --3.1 Drei Stapel
Python-Code Lösungsbeispiel --1.7 Matrixrotation
"Ein Buch zum Trainieren von Programmierkenntnissen für den Kampf in der Welt" Python-Code-Antwortbeispiel --1.4 Satzfolge
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --- Elemente zwischen 2.3 entfernt
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --2.1 Entfernen Sie doppelte Elemente
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.9 Drehung der Zeichenkette
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code Lösungsbeispiel --1.1 Doppelte Zeichenfolge
Im Python-Befehl zeigt Python auf Python3.8
Das am häufigsten zitierte Patent der Welt
Beispiel für die Antwort auf den Python-Code --2.2 Geben Sie Kth von hinten zurück
Beispiel für die Antwort auf den Python-Code --1.2 Zählen Sie die Anzahl der gleichen Zeichen
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Die gefragteste Programmiersprache im Jahr 2020
"Ein Buch zum Trainieren von Programmierkenntnissen für den Kampf in der Welt" Python-Code-Antwortbeispiel --2.5 Summe zweier in der Liste angezeigter Zahlen
Fügen Sie in Jupyter IPerl zum Kernel hinzu.
Zeichnen Sie Grafiken in der Programmiersprache Julia
Verschiedene Kommentare im Programm zu schreiben
So zeigen Sie Hello World in Python an
Richtlinien für die Reinkarnation in der Welt der Linux-Programmierentwicklung (C / C ++ - Sprache)
Programmieren mit Python
Verwendung der C-Bibliothek in Python
Melden Sie sich mit SSH bei einem Remote-Server an
Twitter-Streaming-Client zum Genießen im Terminal
Dynamisches Ersetzen der nächsten Methode in Python
Begrüßen Sie die Welt mit Python mit IntelliJ
Zeichnen Sie Diagramme in Julia ... Überlassen Sie die Diagramme Python
Tipps zum Schreiben werden in Python kurz abgeflacht
So erhalten Sie die Dateien im Ordner [Python]
Loggen Sie sich mit json mit pygogo ein.
Ich möchte den Fortschritt in Python anzeigen!
So rufen Sie den n-ten größten Wert in Python ab
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
So erhalten Sie den Variablennamen selbst in Python
Versuchen Sie, das Programmier-Herausforderungsbuch mit Python3 zu lösen
Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls
Der einfachste Weg, um Last-Modified in Flask einzurichten
Fügen Sie der EV3 Micropyhon-Programmierung in VS Code eine automatische Ergänzung hinzu
So ermitteln Sie die Anzahl der Stellen in Python
Die Geschichte des Aufbaus der schnellsten Linux-Umgebung der Welt
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Wenn es keine DI-Container auf der Welt gäbe.
Konvertieren Sie das Bild in .zip mit Python in PDF
Setzen Sie DateField des Formulars in Django auf type = date
Verwendung der Exist-Klausel in Django Queryset
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich habe Python verwendet, um mich über die Rollenauswahl der 51 "Yachten" in der Welt zu informieren.
Der Weg nach Pythonista
Python-Programmierung mit Excel