Für unsere Hausaufgabenzuordnung werden wir aufgefordert, eine Ganzzahl aufzunehmen und die Zweierkomplemente davon zurückzugeben.Konvertieren einer binären Zeichenfolge in ein Zweierkomplement
Derzeit kann ich die ganze Zahl in eine binäre Zeichenfolge konvertieren. Von dort weiß ich, dass ich die 0 und 1 invertieren muss und 1 zu der neuen Zeichenfolge hinzufügen muss, aber ich weiß nicht, wie das geht.
Könnte mir bitte jemand dabei helfen?
def numToBinary(n):
'''Returns the string with the binary representation of non-negative integer n.'''
result = ''
for x in range(8):
r = n % 2
n = n // 2
result += str(r)
result = result[::-1]
return result
def NumToTc(n):
'''Returns the string with the binary representation of non-negative integer n.'''
binary = numToBinary(n)
# stops working here
invert = binary
i = 0
for digit in range(len(binary)):
if digit == '0':
invert[i] = '1'
else:
invert[i] = '0'
i += 1
return invert
Hinweis: Dies ist ein Intro Level-Kurs, so sind wir in erster Linie stecken loops
und recursion
zu verwenden. Wir können nicht wirklich irgendwelche ausgefallenen Formatierungen von Strings, eingebauten Funktionen usw. jenseits der Grundlagen verwenden.
Da es sich um einen Auftrag - ich glaube, ich nur einen Tipp geben kann. Suchen Sie im PHP-Handbuch nach Ihren binären Operationen. Verwenden Sie das Online-Handbuch. Einer von ihnen wird dir sagen, wie das geht. –
Auf dem Risiko, die Aufgabe wegzugeben, beachten Sie, dass Python einige sehr nützliche [bitweise Operatoren] definiert (https://wiki.python.org/moin/BitwiseOperators) ... –
lassen Sie mich raten, Sie haben ein 'TypeError: 'str' Objekt unterstützt keine Artikelzuweisung, oder? Bitte geben Sie die Fehlermeldungen an, die Sie beim Veröffentlichen der Frage erhalten. Dadurch ist es ** viel einfacher, Sie bei Ihrem eigentlichen Problem zu unterstützen. –