Forum >> Principianti >> Converione binario/decimale e decimale/binario

Pagina: 1

Buongiorno , in questo momento ho bisogno di fare delle conversioni da binario a decimale e contrario; ho cercato per oltre 30 minuti nelle library (in maledetto inglese) e non ho trovato nulla.

Qualcuno mi sa indicare se ci sono dei comandi per la coversione o se me la devo calcolare.

Come al solito un "ignorante" ringrazia.

Saluti




Alberto

------
Alberto
Intendi una cosa del genere?

>>> hex(int("001001011100001",2))
0x12e1
>>> hex(int("001001011100001",2))[2:]
12e1
Cya

Circa, qui però facciamo da Bimario a esadecimale.
A me servirebbe conversione diretta decimale —> binario e viceversa.

Io l’ho risolto creandomi una routine però se ci sono dei comandi diretti sono più veloci di sicuro.

Grazie




Alberto
------
Alberto
Chissà perché ho letto esadecimale, mah. Comunque sia perché non usare bin()?

Dimenticavo una cosa. Nel caso tu voglia usare una tua funzione, devi trattare il numero binario in stringa per le tue conversioni, ma questo lo sai già.

Cya












--- Ultima modifica di Daniele aka Palmux in data 2018-07-09 10:50:22 ---
Io avevo pensato di farla così, le posto così me la correggi se ci sono errori; lei funziona perfettamente.
L’ho inserita in una classe perché la devo eseguire 18 volte alla volta.




# decodifica : da decimale a Binario

class DecBin():
		
	def decbin(self,valore):
		self.valore = valore
		self.bit_1 = 0
		self.bit_2 = 0
		self.bit_3 = 0
		self.bit_4 = 0
		self.bit_5 = 0
		self.bit_6 = 0
		self.bit_7 = 0
		self.bit_8 = 0

		print(self.valore)
		print("---")
		
		self.bit_1 = int(self.valore / 2)
		self.resto_1 = (self.valore % 2)
		print(self.resto_1)
		
		self.bit_2 = int(self.bit_1 / 2)
		self.resto_2 = (self.bit_1 % 2)
		print(self.resto_2)
		
		self.bit_3 = int(self.bit_2 / 2)
		self.resto_3 = (self.bit_2 % 2)
		print(self.resto_3)
		
		self.bit_4 = int(self.bit_3 / 2)
		self.resto_4 = (self.bit_3 % 2)
		print(self.resto_4)
		
		self.bit_5 = int(self.bit_4 / 2)
		self.resto_5 = (self.bit_4 % 2)
		print(self.resto_5)
		
		self.bit_6 = int(self.bit_5 / 2)
		self.resto_6 = (self.bit_5 % 2)
		print(self.resto_6)

		self.bit_7 = int(self.bit_6 / 2)
		self.resto_7 = (self.bit_6 % 2)
		print(self.resto_7)
		
		self.bit_8 = int(self.bit_7 / 2)
		self.resto_8 = (self.bit_7 % 2)
		print(self.resto_ 8)
	
		self.somma = (self.resto_8 *12 8) + (self.resto_7 *64)+(self.resto_6 *32)+(self.resto_5 *16)+(self.resto_4 * 8)+(self.resto_3 *4)+(self.resto_2 *2)+(self.resto_1 *1)
		print("---")
		print (self.somma)
		
a = DecBin()

#s=a.decbin( 8)

Con questa poi il valore binario non mi torna il stringa.

Però in Python non ho trovato la funzione da binario a decimale (ma quella è una cavolaia).

Cosa dici può andare ??

Grazie




Alberto




--- Ultima modifica di trescon in data 2018-07-09 11:35:07 ---
------
Alberto
>>> bin(100)
'0b1100100'
>>> bin(100)[2:]
'1100100'
>>> int('0b1100100', 2)
100
>>> int('1100100', 2)
100
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Cavolo , no sapevo che la funzione int facesse la conversione da binario stringa a decimale...... ma allora ditelo prima 😩😂 .... che ignorante che sono !!
Grazie




Alberto
------
Alberto
Cavolo , no sapevo che la funzione int facesse la conversione da binario stringa a decimale...... ma allora ditelo prima 😩😂 .... che ignorante che sono !!

Te lo avevo scritto al secondo messaggio, vabbè... :(




Vero, scusate ma da cellulare non mi ero accorto.
Grazie ancora




Alberto
------
Alberto


Pagina: 1



Esegui il login per scrivere una risposta.