Condividi:        

conversione da decimale a binario

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

conversione da decimale a binario

Postdi alby60 » 14/01/13 00:37

Ciao a tutti, sto utilizzando la funzione DECIMALE.BINARIO in questo modo
Codice: Seleziona tutto
=DECIMALE.BINARIO(A2; 10)
per convertire dei numeri in binario, non riesco a convertire numeri che siano maggiori di 511, se in A2 scrivo 512 ottengo #NUM!. 512 in binario è 1000000000. Sapete dirmi quale altra funzione posso utilizzare o come eliminare l'errore. Utilizzo excel 2003. Grazie.
alby60
Utente Junior
 
Post: 76
Iscritto il: 18/11/10 01:04

Sponsor
 

Re: conversione da decimale a binario

Postdi Flash30005 » 14/01/13 01:40

La funzione da te usata non permette un calcolo superiore a 511 pertanto
supponendo che tu abbia il numero decimale in A1
in B1 inserirai questa formula
Codice: Seleziona tutto
=SOMMA(((0&RIPETI("8";RIF.RIGA(INDIRETTO("1:"&INT(LOG(A1;2)+1)))-1))+1)*ARROTONDA($A1/(2^RIF.RIGA(INDIRETTO("1:"&INT(LOG(A1;2)+1))));0))

e confermare con CTRL+Maiu+Invio

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: conversione da decimale a binario

Postdi alby60 » 14/01/13 02:01

Grazie Flash. Funziona ma non è che sia proprio alla portata di tutti. Mi sarebbe piaciuto trovare un formula più semplice. Complimenti per la tua soluzione
alby60
Utente Junior
 
Post: 76
Iscritto il: 18/11/10 01:04

Re: conversione da decimale a binario

Postdi Anthony47 » 14/01/13 02:55

Una formula relativamente piu' semplice e' questa:
Codice: Seleziona tutto
=DECIMALE.BINARIO(INT(B4/512))&TESTO(DECIMALE.BINARIO(RESTO(B4;512));"00000000")
Gestisce numeri fino a 262143 (pari a 512*512-1 e 18 bit), piu' di quanto possibile con la formula di Flash(limitata a 2^15); e' potenzialmente ampliabile di uno o piu' volte il fattore 512 utilizzando la stessa logica.

Ciao a tutti.

Edit:
Il formato giusto da utilizzare nella formula non e' "00000000" (8 zeri) ma "000000000" (9 zeri)
Anthony
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: conversione da decimale a binario

Postdi alby60 » 15/01/13 00:33

Ciao Anthony ottima la tua idea di dividere per 512 e la formula è più semplice. grazie e grazie. In un altro forum ho avuto anche una soluzione con una funzione in VBA che riporto
Codice: Seleziona tutto
Public Function DecBin(ByVal DecValue As Long) As String
Dim i As Integer, j As Integer, S As String
S = "0000000100100011010001010110011110001001101010111100110111101111"
For i = 1 To Len(Hex(DecValue))
For j = 0 To 15
If Hex(j) = Mid(Hex(DecValue), i, 1) Then
DecBin = DecBin & Mid(S, 4 * j + 1, 4)
Exit For
End If
Next: Next
End Function
alby60
Utente Junior
 
Post: 76
Iscritto il: 18/11/10 01:04

Re: conversione da decimale a binario

Postdi Anthony47 » 15/01/13 01:44

Grazie per aver pubblicato il codice della Function; se non te ne sei reso conto, nella formula che avevo pubblicato manca uno "0" nel formato (deve comprendere 9 zeri); cioe' deve essere
Codice: Seleziona tutto
=DECIMALE.BINARIO(INT(A2/512))&TESTO(DECIMALE.BINARIO(RESTO(A2;512));"000000000")

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "conversione da decimale a binario":


Chi c’è in linea

Visitano il forum: papiriof e 52 ospiti