Objectif :
On veut créer une interface qui convertit les nombres décimaux, binaires et hexadécimaux.
Tu vas insérer le convertisseur dans une page web de ton site. ce sera la page qui est dans le menu sous le titre connaissances et de sous-titre binaire et hexa....
Voici le code html
qui permet de construire un tableau :
<table>
<tr><th>Décimaux</th><th>Binaires</th><th>Héxadécimaux</th></tr>
<tr><td>0</td><td>0</td><td>0</td></tr>
<tr><td>1</td><td>1</td><td>1</td></tr>
<tr><td>2</td><td>10</td><td>2</td></tr>
</table>
Recopie ce code sur ta page, complète-le afin d'obtenir un tableau allant jusqu'au décimal 16.
Pense aussi à regarder si ton template te propose un modèle de tableau, utilise-le pour avoir directement la mise en forme.
Pour réaliser notre convertisseur, nous allons utilser un formulaire html.
Ce formulaire sera composé de 3 lignes.
chaque ligne sera composé de 3 éléments :
<span>texte : </span>
<input type="text">
<input type="button" value="→">
Voici le code html
qui permet de construire ce formulaire :
<form>
<fieldset>
<legend>Convertisseur</legend>
<p><span>Décimal : </span><input type="text"><input type="button" value="→"></p>
<p><span>Binaire : </span><input type="text"><input type="button" value="→"></p>
<p><span>Hexadécimal : </span><input type="text"><input type="button" value="→"></p>
</fieldset>
</form>
Voilà le décor est planté, maintenant il faut programmer...
Pour programmer, il nous faut des variables, ici elles sont stockées dans les zones de saisie. Nous allons personnaliser chaque zone de saisie avec l'instruction id="identifiant"
.
Nous devons donc écrire 3 programmes, en fait un pour chaque bouton. Nous écrirons ces programmes sous forme de fonction (function
). A chaque bouton, nous affectons le lancement d'une fonction avec l'instruction : onClick="fonc();"
On complète le code html
de la façon suivante :
<form>
<fieldset>
<legend>Convertisseur</legend>
<p><span>Décimal : </span><input type="text" id="decimal"><input type="button" value="→" onClick="xdecimal();"></p>
<p><span>Binaire : </span><input type="text" id="binaire"><input type="button" value="→" onClick="xbinaire();"></p>
<p><span>Hexadécimal : </span><input type="text" id="hexadecimal"><input type="button" value="→" onClick="xhexadecimal();"></p>
</fieldset>
</form>
Nous pouvons passer au javascript.
<head>
de ta page html la ligne suivante :<script src="JS/convertisseur.js"></script>
javascript
suivant dans ton fichier convertisseur.js:
function xdecimal()
{
decimal = document.getElementById("decimal");
binaire = document.getElementById("binaire");
hexadecimal = document.getElementById("hexadecimal");
hexadecimal.value = (decimal.value-0).toString(16);
binaire.value = (decimal.value-0).toString(2);
}
function xhexadecimal()
{
decimal = document.getElementById("decimal");
binaire = document.getElementById("binaire");
hexadecimal = document.getElementById("hexadecimal");
decimal.value = parseInt(hexadecimal.value,16);
binaire.value = (parseInt(hexadecimal.value,16)).toString(2);
}
Quelques commentaires :
document.getElementById("decimal")
. Elle repère l'objet du document qui a cet identifiant, ici une zone de texte, qu'on a nommé decimal et avec decimal.value
, on a la valeur qui est affecté à la zone de texte.nombre.toString(X)
analyse nombre
et tente de renvoyer une chaîne de caractères représentant le nombre dans la base X. (plus d'info)parseInt(nombre,X)
considère que nombre
est en base X
et le transforme en base 10.(plus d'info)xbinaire()
.
Voilà ! ton convertisseur est prêt. Tu peux l'embellir avec du CSS...