Newsgroup: it.comp.lang.javascript
Titolo: Decimale <> Esadecimale

Domande, sempre domande :-)
Chi mi dice come convertire un numero in una stringa esadecimale?
Il contrario lo faccio con parseInt(stringa esadecimale, 16).
Questo mi interessa perché voglio far apparire del testo sfumandolo poco a
poco passando una stringa a document.fgColor, avete qualche script da
studiare su questo argomento?
--
Bye, Paolo. (Grazie un fottio!)
Per le risposte dirette devi togliere NOSPAM.

studiare su questo argomento?
Beccati questa Paolo e buono studio......
-----------------
<html>
<head>
<title>Sistema Binario</title>
<script language="JavaScript">
<!-- 
var hex;
function MakeArray()
{
    this.length = 16;
    return this;
}
function Populate()
{
    hex = new MakeArray();
    hex[1] = "0";    
    hex[2] = "1";    
    hex[3] = "2";    
    hex[4] = "3";    
    hex[5] = "4";    
    hex[6] = "5";    
    hex[7] = "6";    
    hex[8] = "7";    
    hex[9] = "8";    
    hex[10] = "9";    
    hex[11] = "A";    
    hex[12] = "B";    
    hex[13] = "C";    
    hex[14] = "D";    
    hex[15] = "E";    
    hex[16] = "F";    
}
function DecimaltoAnother(N, radix)
{
    s = "";
    A = N;
    while (A >= radix)
    {
        B = A % radix;
        A = Math.floor(A / radix);
        s += hex[B+1];
    }
 
    s += hex[A+1];
    return Transpose(s);
}
function Transpose(s)
{
    N = s.length;
    t = "";
    for (i = 0; i < N; i++)
        t = t + s.substring(N-i-1, N-i);
    s = t;
    return s;
}
function EvalB(form)
{
    if (form.b.value.length != 0)
        M = parseInt(form.b.value, 2);
    else
        M = 0;
    form.t.value = DecimaltoAnother(M, 3);
    form.q.value = DecimaltoAnother(M, 5);
    form.o.value = DecimaltoAnother(M, 8);
    form.h.value = DecimaltoAnother(M, 16);
    form.d.value = M;
}
function EvalT(form)
{
    if (form.t.value.length != 0)
        M = parseInt(form.t.value, 3);
    else
        M = 0;
    form.b.value = DecimaltoAnother(M, 2);
    form.q.value = DecimaltoAnother(M, 5);
    form.o.value = DecimaltoAnother(M, 8);
    form.h.value = DecimaltoAnother(M, 16);
    form.d.value = M;
}
function EvalQ(form)
{
    if (form.q.value.length != 0)
        M = parseInt(form.q.value, 5);
    else
        M = 0;
    form.b.value = DecimaltoAnother(M, 2);
    form.t.value = DecimaltoAnother(M, 3);
    form.o.value = DecimaltoAnother(M, 8);
    form.h.value = DecimaltoAnother(M, 16);
    form.d.value = M;
}
function EvalO(form)
{
    if (form.o.value.length != 0)
        M = parseInt(form.o.value, 8);
    else
        M = 0;
    form.b.value = DecimaltoAnother(M, 2);
    form.t.value = DecimaltoAnother(M, 3);
    form.q.value = DecimaltoAnother(M, 5);
    form.h.value = DecimaltoAnother(M, 16);
    form.d.value = M;
}
function EvalH(form)
{
    if (form.h.value.length != 0)
        M = parseInt(form.h.value, 16);
    else
        M = 0;
    form.b.value = DecimaltoAnother(M, 2);
    form.t.value = DecimaltoAnother(M, 3);
    form.q.value = DecimaltoAnother(M, 5);
    form.o.value = DecimaltoAnother(M, 8);
    form.d.value = M;
}
function EvalD(form)
{
    if (form.d.value.length != 0)
        M = parseInt(form.d.value, 10);
    else
        M = 0;
    form.b.value = DecimaltoAnother(M, 2);
    form.t.value = DecimaltoAnother(M, 3);
    form.q.value = DecimaltoAnother(M, 5);
    form.o.value = DecimaltoAnother(M, 8);
    form.h.value = DecimaltoAnother(M, 16);
}
//--  -->
</script>
</head>
<BODY BGCOLOR="#FFFFFF" onLoad="Populate()">
<center>
<h1>SISTEMA BINARIO</h1>
</center><BR>
<hr>
<form  method="post">
<table  border=0 align=center>
<tr>
<td  align=right>
<p>Binari:</p>
</td>
<td>
<input  name="b" value="0" onChange="EvalB(form)" size=27></input>
</td>
</tr>
<tr>
<td  align=right>Ternari:</td>
<td>
<input  name="t" value="0" onChange="EvalT(form)" size=21></input>
</td>
</tr>
<tr><td  align=right>Quintal:</td>
<td>
<input  name="q" value="0" onChange="EvalQ(form)" size=16></input>
</td>
</tr>
<tr>
<td  align=right>Octal:</td>
<td>
<input  name="o" value="0" onChange="EvalO(form)" size=12></input>
</td>
</tr>
<tr>
<td align=right>Decimali:</td>
<td>
<input  name="d" value="0" onChange="EvalD(form)" size=11></input>
</td>
</tr>
<tr>
<td  align=right>Esadecimali:</td>
<td>
<input  name="h" value="0" onChange="EvalH(form)" size=8></input>
</td>
</tr>
</table>
</form>
<br>
<hr>
<br>
<center>
P.Annunziata
</center>
</body>
</HTML>
--------------------------------
Ciao
 __/ __/ __/ __/ __/ __/ __/ __/ __/ __/ __/ __/ 
Pasquale Annunziata WebDesigner 
and Webmasters' Guild Member.
e-mail:  
pasq...@mclink.it
 
My Personal Home Page:
http://www.mclink.it/personal/MC0414
 
Mondo JavaScript:
http://www.aspide.it/freeweb/JS
__/ __/ __/ __/ __/ __/ __/ __/ __/ __/ __/ __/ 

Caro Pasquale Annunziata, sei davvero un grande.
E te lo dice uno che...
di Js ne sa proprio poco :-((
ma che cosě come ha fatto per l'html lo sta imparando studiando i
listati di vari script e un po' modificandoli per vedere l'effeto che
fa, e un po' ipotizzando e traducendo le funzioni.
Certo ho ancora moltissimissimo da imparare ma per ora sessanta sacchi
per un manuale non ce le ho.
P.S. ho 16 anni e da parecchio tempo mi diletto di
pseudo-programmazione (TP, Basic ecc, e un nuovo aqcuisto č il VRML
=>Ganzo! ;-)
Piuttosto sono rimasto deluso quando dopo aver passato due mesi a
imparare il codice html (il manuale poi l'ho comprato) mi sono accorto
che con un qualsiasi editor si potevano fare le stesse cose e anche di
piů in un terzo del tempo, e uno che poi tolga dai commenti quelli che
mette  il programma puň anche fingere di aver sviluppato da solo il
codice.
PS Complimenti per il sito, ma mi sa che tu fai queste cose a livello
professionale vero?
Autodidatta o corsi vari?
Ciao.
Cordialmente,
               Alessio
--
P.S. se non togli il ---NONVOGLIOSPAM--- 
dal mio email non puoi rispondermi.
My ICQ UIN: 6168664

studiare su questo argomento?
Ecco un piccolo script che dovrebbe fare al caso tuo, occhio pero' che
se vuoi convertire numeri > 255 devi modificarla:
function Hex(num)	{
	hexchars = "0123456789ABCDEF"
	if ( num > 255)
		return null;
	var i = dec % 16
	var j = ( dec -i ) / 16
	var result = ""
	result += hexchars.charAt(j)
	result += hexchars.charAt(i)
	return result
	}
Ciao,
MaNu!
***************************************************************
MaNu!		- 
ma...@cta.it
		- 
http://www.geocities.com/Area51/Cavern/8847/
		 "Web-Secret: X-Files e cospirazioni"
***************************************************************

codice.
no scusa se ti correggo. editor tipo frontpage NON fanno le stesse
cose di un editor di codice, in quanto dovrebbero supportare tutte le
piu' banali funzioni dell'HTML, non creano codice pulito, infatti
spesso e volentieri un file creato con un editor WYSIWYG e' pieno
zeppi di tag inutili che appesantiscono il caricamento della pagina.
io preferisco alla grande il codice.(anche perche' il JS questi
editorozzi non lo supportano mai!)
ciao
------------------------------------------------------
                · · · Giovanni Ferri · · ·
------------------------------------------------------
          Codename:  Marlboro Man ©
       E-Mail: 
marl...@ouverture.it
          | /\ |       ICQ Uin: 2187863
------------------------------------------------------
        Volontario Croce Rossa Italiana
     Delegato Tecnico per l'Informatica
          Sottocomitato Follonica (GR)
------------------------------------------------------

E questo è quello che ho ottenuto con il vostro aiuto, magari non sarà tanto
originale, ma per me che sono alle prime armi con il JS e' già un bel passo
avanti!
----------------------------------------------------------------------------
--
<HTML>
<HEAD>
<SCRIPT>
function Converti(Numero) {
Caratteri = "0123456789ABCDEF";
Stringa = "";
while (Numero != 0) {
Resto = Numero % 16;
Stringa = Caratteri.charAt(Resto) + Stringa;
Numero = Math.floor(Numero / 16);
}
return Stringa;
}
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<SCRIPT>
Esadecimale = Converti(123456789);
document.write(Esadecimale);
</SCRIPT>
<BR>
<A HREF="
http://space.tin.it/io/ptambel
">
http://space.tin.it/io/ptambel
</A>
<BR>
Visita la mia pagina, è vuota ma... sono all'inizio :-)
</CENTER>
</BODY>
</HTML>
----------------------------------------------------------------------------
--
In pratica è un misto degli esempi di Pasquale e MaNu! (ti piace la
Dandini?) che converte anche sopra il 255 e non importa rovesciare la
stringa ottenuta, l'unico problema è che gli passo zero mi rimanda una
stringa vuota, ma a questo c'è rimedio credo :-)
Poi ho un'altro problema, ho provato a sfumare lo sfondo (document.bgColor)
e funziona ma per il testo (document.fgColor) neanche a parlarne! Sara' mica
che L'explorer 4 non lo riconosce (scusate il termine se non e' corretto) ?
Ciao e grazie a tutti, alle prossime domande :-)) Paolo.
Per le risposte dirette togli NOSPAM.

che L'explorer 4 non lo riconosce (scusate il termine se non e' corretto) ?
Mi dispiace, ma non e' fattibile in javascript "puro".



Sottoscrivo in pieno!!!
Io ho sempre cercato editor testuali. Ora lavoro con Arachnophilia ed
č il massimo che abbia mai provato, e credo di averne testato il 90%
di quelli in circolazione sulla rete!!
Piero Desopo
Fenice_____________________________
http://aspide.it/freeweb/desopo
	Foto&Moda_________Divina - home page____
 
http://www.toptown.com/DORMS/fenice/