def division_euclidienne(nombre, diviseur):
quotient = nombre//diviseur
reste = nombre % diviseur
return quotient, reste
def decimal_en_binaire(decimal):
resultat = ""
quotient = decimal
while quotient > 0:
quotient, reste = division_euclidienne(decimal,2)
resultat = str(reste) + resultat
decimal = quotient
return resultat
def valeur_absolue(nombre):
if nombre >= 0:
return nombre
else :
return nombre * (-1)
def inverse(binaire):
res = ""
for symbole in binaire:
if symbole == "1":
res = res + "0"
else:
res = res + "1"
return res
def addition_binaire(nombre1:str, nombre2:str) -> str :
resultat = ""
retenue = 0
for i in range(1,len(nombre1) +1 ) :
c1 = nombre1[ len(nombre1)-i ]
c2 = nombre2[ len(nombre2)-i ]
if c1 == "0" and c2 == "0":
resultat = str(retenue) + resultat
retenue = 0
elif (c1 == "1" and c2 == "0") or c1 == "0" and c2 == "1":
if retenue == 1:
resultat = "0" + resultat
retenue = 1
else:
resultat = "1" + resultat
retenue = 0
elif c1 == "1" and c2 == "1":
if retenue == 1:
resultat = "1" + resultat
retenue = 1
else:
resultat = "0" + resultat
retenue = 1
if retenue == 1:
resultat = str(retenue) + resultat
return resultat
r = addition_binaire("1001","0001")
print(r)