Pagina Iniziale | Preferiti Comunity: Login | Registrati | Newsletter | Forum | Concorsi Newsgroup
Canali: Hardware | Software | Files | Webmaster | Cellulari | Shop | Guadagna con i tuoi acquisti     
Nel sito: News | Articoli | Files | Manuali | Consigli PC | Schede cellulari | Programmaz. | Hosting | Motori Ricerca | Glossario | Link
Servizi: Shopping | Forum | Crea un BLOG | Cartucce Compatibili | Hosting Aruba | Tool News |   Sponsor: Automazione Industriale
  Articoli

Recensioni
Consigli per PC


  News e files

Software
Telefonia
Internet
Tecnologia
Files e Download


  Manualistica

Guide HW/SW
Scripts ASP
Scripts HTML
Scripts Java
Scripts Delphi
Glossario

-->


  Shopping

Hardware
Software e Giochi
Elettronica
Cinema e Film
Console e Accessori
Prodotti Ufficio
Formazione e Corsi

Tieniti aggiornato sul mondo della tecnologia con la nostra newsletter!
La tecnologia sulla tua
casella e-mail

[Info Newsletter]


Concessionaria Pubblicitaria


<< News Precedente [Fine Pagina] News Successiva >>
Convertitore di numeri decimali in altri codici

Un articolo di: Matteo Gentile del 10/01/2003      Letture: 20945

86.00 Euro
Western Digital - Western Digital convertitore multimediale - WD TV - collega HD USB o dispositivi di storag (WDAVP00BE) da apmshop



  Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!

Questo esempio realizza la conversione di un numero decimale, inserito da un utente nella textbox di un form, in uno dei tre formati binario, esadecimale ed ottale.
Il formato viene scelto da un menu a tendina tra i tre possibili, e una volta premuto il pulsante di conversione, il codice restituisce il valore convertito.
Per effettuare le conversioni in esadecimale e in ottale si possono usare le apposite funzioni VBScript Hex() e Oct().
Per la conversione in binario invece, si è dovuta sviluppare una semplice funzione, chiamata Bin(), che la effettua usando due cicli, un Do...Loop e un For...Next.
La funzione cerca inizialmente il primo valore dellla potenza di 2 che supera il numero inserito (con il cilco Do).
Successivamente il ciclo For sottrae le potenze di 2 al numero inserito partendo dalla cifra più significativa (e spostandosi di una cifra ad ogni passo) e inserisce un 1 o uno 0 a seconda se il valore della differenza è positivo o negativo.
Vediamo un esmepio per capire meglio.
Considero che voglio convertire il numero decimale 13 in binario. La prima potenza di 2 che supera 15 è 4 (2^4=16), quindi Potenza si ferma a 3.
Il numero di cifre da utilizzare per reppresentare il numero in binario è quindi 4.
Calcolo 2^3 (=8) e la differenza tra il numero (13) e 8. La differenza è 5 (>0), quindi pongo la prima cifra a 1.
Calcolo 2^2 (=4) e la differnza tra 5 e 4, che è positiva e vale 1, quindi pongo la seconda cifra a 1.
Calcolo 2^1 (=2) e la differenza tra 1 e 2, che è negativa, quindi pongo la terza cifra a 0.
Calcolo 2^0 (=1) e la differenza tra 1 e 1, che è nulla, quindi pongo la quarta cifra a 1.
Il risultato è quindi: 1101, che è proprio 13 tradotto in binario.
Vediamo ora il codice della pagina:


<html> 
<head> 
<% 
Function Bin(Num) 
x = 1 
Do until 2^x > Num 
Potenza = x 
x = x + 1 
Loop 
For x = Potenza to 0 Step -1 
If Num - (2^x) >= 0 then 
outNum = outNum & "1" 
Num = Num - (2^x) 
Else 
outNum = outNum & "0" 
End If 
Next 
Bin = outNum 
End Function 
%> 
</head> 

<body>
<form method="POST" action="Converti.asp">
<p>Inserisci un numero decimale: 
<input type="text" name="Num" size="20" 
value=">%=Request("Num")%>"><br>
Converti il numero in: <select size="1" name="Base">
<option>Esadecimale</option>
<option>Ottale</option> 
<option>Binario</option>
</select><br> 
<input type="submit" value="Calcola" name="B1"></p>
</form> 
<% 
Num = Request("Num") 
If Num <> "" then 
Num = cLng(Num) 
Select Case Request("Base") 
Case "Esadecimale" 
response.write Num & " = " & Hex(Num) 
Case "Ottale" 
response.write Num & " = " & Oct(Num) 
Case "Binario" 
Response.write Num & " = " & Bin(Num) 
End Select 
End If %> 
</body> 
</html> 



[Indietro]    [Su]      [Home]      [Commenti]      [V. Stampabile]

Commento di Anonimo (ip: 24.215.213.253), scritto il 13/01/2005 alle 05:06:44
bravi... continuate cosi`

Commento di Anonimo (ip: 85.18.136.105), scritto il 05/01/2007 alle 03:18:48
Colui che ha scritto questo articolo ha tutta la mia ammirazione o_o uau....

Commento di Anonimo (ip: 83.184.209.145), scritto il 21/06/2007 alle 18:54:45
Veramente l''articolo è sbagliato! Se provo a convertire 9 in binario usando la spiegazione che c''è scritta nell''articolo viene sbagliato. Un metodo che funziona è dividere per 2 e leggere i resti al contrario. Per esempio se devo convertire 13 farò 13/2 = 6 resto 1; 6/2 = 3 resto 0; 3/2 = 1 resto 1; 1/2 = 0 resto 1. Leggendo i resti al contrario ottengo 1101.

Commento di Anonimo (ip: 83.184.209.145), scritto il 21/06/2007 alle 18:55:04
Veramente l''articolo è sbagliato! Se provo a convertire 9 in binario usando la spiegazione che c''è scritta nell''articolo viene sbagliato. Un metodo che funziona è dividere per 2 e leggere i resti al contrario. Per esempio se devo convertire 13 farò 13/2 = 6 resto 1; 6/2 = 3 resto 0; 3/2 = 1 resto 1; 1/2 = 0 resto 1. Leggendo i resti al contrario ottengo 1101. Saimon

Commenta questa notizia:
Non hai ancora fatto il
Login, puoi inserire commenti solo come anonimo.
ATTENZIONE: il tuo IP verrà memorizzato e mostrato a fianco del commento; con la pressione del tasto invia commento si esprime il consenso alla pubblicazione di tale informazione personale.
A discrezione dello staff, i commenti ritenuti non adatti od offensivi potranno essere rimossi. Nel caso di utilizzo di espressioni volgari od offensive il comportamento verrà segnalato al provider interessato.
Se non ti sei ancora registrato, cosa aspetti? Registrati subito.

Da ora puoi discutere dei problemi informatici anche sul nostro FORUM

Testo del commento:




  News correlate

 Grafico a barre con ASP e CSS
 Registrare data e ora sul Database
 Un contaclick basato su file di testo
 Relazioni tra due tabelle: le Join
 Gestione spazi nelle stringhe
 Creazione di dizionari
 Scrittura di un file Ms Word
 Spedire un file via email


Domini Email SpazioWeb
a partire da € 9.99+IVA annui



  Ultime dal Forum

gptreasure.com ricevuti altri 8 pagamenti
hitsformoney.net [Paid To Promote]
Grande pagamento ricevuto
YOUNIVERSE WORD
Aiuto....!!! Come posso ricreare la partizione Hp Recovery
apro file video e si chiude la directory
asus z9200km come si usa il bluetooth
Le mie migliori ptc paganti (2$ cashout)
I love photoshop !!!!

Comunicazioni / Note Legali / Staff / Collabora / Pubblicità / Contatti


Copyright JuiceADV S.r.l. (P.IVA : 02387250307), tutti i diritti riservati Utenti Connessi: 313


Pagina creata in 0,39sec. Powered by JuiceADV S.r.l.

Stats v0.1 (0,000sec.)