Come faccio ad ottenere il numero binario di un numero o di qualsiasi altra cosa? che base devo mettere in parseInt per ottenere, ad esempio da 15 come risultato 1111? è possibile? bisogna usare un altro comando?
Come faccio ad ottenere il numero binario di un numero o di qualsiasi altra cosa? che base devo mettere in parseInt per ottenere, ad esempio da 15 come risultato 1111? è possibile? bisogna usare un altro comando?
Ciao carissima!
Non so cosa intendi con "numero binario di qualsiasi altra cosa".
Ti posso mostrare l'algoritmo di conversione di base.
Ora, non sono al corrente su eventuali metodi che flash suggerisce per convertire un numero da base 10 a base 2, quindi ti propongo il seguente codice:
Il trace finale stampa la stringa contenente il numero convertito in binario.codice:stringaContenenteNumeroBinario = ""; contatore = 0; daConvertire = 13; numero = new Array(); while(daConvertire != 0) { inseriscoCifra = daConvertire % 2; // come vedi ho impostato la base a due. numero.push(inseriscoCifra); daConvertire = parseInt(daConvertire / 2); contatore++; } for(i = contatore; i >= 0; i--) { stringaContenenteNumeroBinario += numero[i]; // Aggiorno la stringa } trace(stringaContenenteNumeroBinario);
Non credo che flash preveda una classe di oggetti specifica per numeri binari...
Spero di esserti stato d'aiuto! (magari negatyve ci mostrerà come al solito un metodo più semplice ed efficace)
Ciao![]()
Nicola Baldi <% Naighes %>
Il mio blog!![]()
"Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."
grazie
volevo imparare come si usano gli operatori per lo spostamento bit a bit ma senza fare controlli sul codice binario non sapevo se quello che facevo aveva un senso![]()
Mi sono dimenticato di dirti che l'algoritmo che ti ho mostrato converte un numero intero. Per un numero 0 < x < 1 esiste un altro algoritmo. Se ti interessa fammelo sapere che te lo posto.
Nicola Baldi <% Naighes %>
Il mio blog!![]()
"Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."
Molto più velocemente...
a = 15
trace(a.toString(2))
(magari negatyve ci mostrerà come al solito un metodo più semplice ed efficace )
Ops, non avevo letto...non dovevo postare...scusate l'intrusione... :quipy:
ottimo e veloceOriginariamente inviato da Broly
Molto più velocemente...
a = 15
trace(a.toString(2))grazie broly
ma che polemicone(magari negatyve ci mostrerà come al solito un metodo più semplice ed efficace )
Ops, non avevo letto...non dovevo postare...scusate l'intrusione... :quipy:![]()
Mi conosciOriginariamente inviato da Stormy
ma che polemicone![]()
E poi se non mancassi da secoli sul forum capiresti alla svelta perchè ogni tanto viene spontaneo rispondere a certe frasi :tongue:
![]()
Questo è l'algoritmo:
Quando richiami la funzione passi i seguenti parametri:codice:function binarioNonIntero(base, daConvertire, cifreRappresentazione) { stringaFinale = ""; // Determinazione dell'esponente: esponente = 1; tempPerEsponente = daConvertire; while(parseInt(tempPerEsponente) == 0) { tempPerEsponente = base * tempPerEsponente; esponente--; } // Determinazione cifre cifreNumero = new array(); i = 0; while(i != cifreRappresentazione) { cifreNumero.push(parseInt(daConvertire)); daConvertire = base * (daConvertire - parseInt(daConvertire)); i++; } for(z = i; z >= 0; z--) { stringaFinale += cifreNumero[z]; } stringaFinale = stringaFinale.substr(1, cifreRappresentazione); return "0." + stringaFinale + " * " + base + "(" + esponente + ")"; }
base: La base nella quale vuoi convertire il numero.
daConvertire: Il numero non intero tra 0 e 1 (non compresi ovviamente) che vuoi convertire.
cifreRappresentazione: Il numero delle cifre che costituiscono il numero che voui veder rappresentate. Questo perchè a seconda del numero che vuoi convertire, la rappresentazione in base potrebbe risultare non finita... (per esempio 0.4 in base 2)
Fai una prova così:
il risultato del trace:codice:trace(binarioNonIntero(2, 0.4, 10));
0.011001100 * 2(-1)
Il (-1) indica l'esponente. (non sapevo come metterlo come apice!)
Nicola Baldi <% Naighes %>
Il mio blog!![]()
"Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."
ma dai! naighes non intendeva deprezzare nessuno![]()
secondo me stava mettendo le mani avanti, perchè capita spesso che tu sudi su uno script poi arriva un altro e posta uno script migliore e ci rimani un po' male, diciamo la verità, è stupido ma capita a tutti di sviluppare un certo grado di competizione
con tutto che ripeto che è stupido perchè qui ci si viene per imparare per cui ben vengano suggerimenti su come fare meglio le cose![]()