School-HTML/3AIN/Esercizi TPS JavaScript Misti/ConversioniConRadio.html

121 lines
4.3 KiB
HTML

<html>
<!--
Nome: Mario
Cognome: Montanari
Classe: 3AIN
-->
<head>
<link rel="icon" href="itisnullobaldiniravenna.jpg" />
<link rel="stylesheet" href="styleConversioniConRadio.css" />
<title>Conversioni numeriche</title>
</head>
<body>
<h1>Conversioni tra basi numeriche</h1>
<input type="text" id="numeroDecimale" placeholder="Inserisci un numero decimale tra 0 e 255"/></br>
<input type="radio" id="numeroBinario" name="tipoConversione" value="binario" />
<label for="numeroBinario">Conversione binaria</label></br>
<input type="radio" id="numeroOttale" name="tipoConversione" value="ottale" />
<label for="numeroOttale">Conversione ottale</label></br>
<input type="radio" id="numeroEsadecimale" name="tipoConversione" value="esadecimale" />
<label for="numeroEsadecimale">Conversione esadecimale</label></br>
<button onclick="mostraScelta()">Converti</button></br></br>
<p id="scelta"></p>
<script>
function aggiornaPlaceholder() {
if (document.getElementById("C2").checked) {
document.getElementById("numeroDecimale").placeholder = "Inserisci un numero decimale tra -128 e 127";
} else {
document.getElementById("numeroDecimale").placeholder = "Inserisci un numero decimale tra 0 e 255";
}
}
function conversioneBinario() {
let numeroDecimale = document.getElementById("numeroDecimale").value;
let numeroBinario = "";
if (numeroDecimale !== "") {
if (numeroDecimale >= 0 && numeroDecimale <= 255) {
if (numeroDecimale === 0) {
numeroBinario = "0";
}
while (numeroDecimale > 0) {
numeroBinario = (numeroDecimale % 2) + numeroBinario;
numeroDecimale = Math.floor(numeroDecimale / 2);
}
} else {
window.alert("Numero non valido! Inserisci un numero compreso tra 0 e 255.");
}
} else if (numeroDecimale === "") {
window.alert("Inserisci un numero!");
}
return numeroBinario.padStart(8, "0");
}
function conversioneOttale() {
let numeroDecimale = document.getElementById("numeroDecimale").value;
let numeroBinario = "";
if (numeroDecimale !== "") {
if (numeroDecimale >= 0 && numeroDecimale <= 255) {
if (numeroDecimale === 0) {
numeroBinario = "0";
}
while (numeroDecimale > 0) {
numeroBinario = (numeroDecimale % 8) + numeroBinario;
numeroDecimale = Math.floor(numeroDecimale / 8);
}
} else {
window.alert("Numero non valido! Inserisci un numero compreso tra 0 e 255.");
}
} else if (numeroDecimale === "") {
window.alert("Inserisci un numero!");
}
return numeroBinario;
}
function conversioneEsadecimale() {
let numeroDecimale = document.getElementById("numeroDecimale").value;
let numeroEsadecimale = "";
if (numeroDecimale !== "") {
if (numeroDecimale >= 0 && numeroDecimale <= 255) {
if (numeroDecimale === 0) {
numeroEsadecimale = "0";
}
while (numeroDecimale > 0) {
let restoEsadecimale = numeroDecimale % 16;
if (restoEsadecimale === 10) {
restoEsadecimale = "A";
} else if (restoEsadecimale === 11) {
restoEsadecimale = "B";
} else if (restoEsadecimale === 12) {
restoEsadecimale = "C";
} else if (restoEsadecimale === 13) {
restoEsadecimale = "D";
} else if (restoEsadecimale === 14) {
restoEsadecimale = "E";
} else if (restoEsadecimale === 15) {
restoEsadecimale = "F";
}
numeroEsadecimale = restoEsadecimale + numeroEsadecimale;
numeroDecimale = Math.floor(Number(numeroDecimale) / 16);
}
} else {
window.alert("Numero non valido! Inserisci un numero compreso tra 0 e 255.");
}
} else if (numeroDecimale === "") {
window.alert("Inserisci un numero!");
}
return numeroEsadecimale;
}
function mostraScelta(){
let scelta = "";
if (document.getElementById('numeroBinario').checked) scelta = conversioneBinario(numeroBinario);
if (document.getElementById('numeroOttale').checked) scelta = conversioneOttale(numeroOttale);
if (document.getElementById('numeroEsadecimale').checked) scelta = conversioneEsadecimale(numeroEsadecimale);
return document.getElementById("scelta").innerText = scelta;
}
</script>
</body>
</html>