L'exercice consiste à écrire un convertisseur de nombre écrit base décimale vers la base binaire.
Ce micro projet permet de réviser la création de page Web de niveau basique, avec l'utilisation d'un mini formulaire pour interagir avec l'utilisateur. Un traitement en Javascript est nécessaire pour effectuer la conversion. Évidemment la page peut être agrémentée d'une feuille de style pour la déco de l'ensemble.
Beaucoup d'évolutions sont possibles sur cette base, notamment ajouter des convertisseurs dans d'autres bases?
Démarrer le convertisseur pour une démo.
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Convertisseur décimal - binaire</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1>Convertisseur décimal - binaire</h1>
<main>
<h3>Entrer le nombre décimal à convertir :</h3>
<form>
<input type="text" id="n" name="dec" value="0"><br />
<input type="button" value="Convertir" onclick="convertir()">
</form>
<p id="reponse">0</p>
</main>
<script src="script.js"></script>
</body>
</htmL>
"use strict";
function convertir(){
let n = document.getElementById("n").value;
n = Number(n);
let reste;
let binaire = '';
let signe = '';
if (isNaN(n)){
alert("Entre un nombre !");
} else if (!(Number.isInteger(n)) || n < 0){
alert("Entre un entier positif !");
} else if (n === 0){
document.getElementById("reponse").textContent = '0';
} else{
while (n !== 0){
reste = n % 2;
binaire = reste.toString() + binaire;
n = Math.trunc(n/2);
console.log(n, reste, binaire);
}
document.getElementById("reponse").textContent = signe + binaire;
}
}
main{
width: 600px;
margin: auto;
background-color: antiquewhite;
text-align: center;
border: solid 1px;
}
#reponse{
background-color: cadetblue;
font-size: 1.3em;
margin: auto;
width: 90%;
margin-top: 20px;
margin-bottom: 20px;
padding: 10px;
}