<html>
<head>
<title>SUMA DE DOS NUMEROS HEXADECIMALES</title>
<?php
function adecimal($c){
$decimal=0;
switch ($c){
case '0': $decimal=0;
break;
case '1': $decimal=1;
break;
case '2': $decimal=2;
break;
case '3': $decimal=3;
break;
case '4': $decimal=4;
break;
case '5': $decimal=5;
break;
case '6': $decimal=6;
break;
case '7': $decimal=7;
break;
case '8': $decimal=8;
break;
case '9': $decimal=9;
break;
case 'A': $decimal=10;
break;
case 'B': $decimal=11;
break;
case 'C': $decimal=12;
break;
case 'D': $decimal=13;
break;
case 'E': $decimal=14;
break;
case 'F': $decimal=15;
break;
}
return $decimal;
}
function achar($dig){
$decimal='';
switch ($dig){
case 0: $decimal='0';
break;
case 1: $decimal='1';
break;
case 2: $decimal='2';
break;
case 3: $decimal='3';
break;
case 4: $decimal='4';
break;
case 5: $decimal='5';
break;
case 6: $decimal='6';
break;
case 7: $decimal='7';
break;
case 8: $decimal='8';
break;
case 9: $decimal='9';
break;
case 10: $decimal='A';
break;
case 11: $decimal='B';
break;
case 12: $decimal='C';
break;
case 13: $decimal='D';
break;
case 14: $decimal='E';
break;
case 15: $decimal='F';
break;
}
return $decimal;
}
function sumar($hexa1,$hexa2) {
$hexa1=strtoupper($hexa1);
$hexa2=strtoupper($hexa2);
$resultado="";
$acarreo=0;
$w=strlen($hexa1)-strlen($hexa2);
for ($i=0;$i<$w;$i++) {
$hexa2='0'.strval($hexa2);
}
//$q=strlen($octal1)-strlen($octal2);
$r=strlen($hexa2);
//echo "octal2 ".$octal2." y octal1 ".$octal1." la diferencia es
".$q." listo ".$r."yaaaaaaa";
for ($i=$r-1;$i>=0;$i--) {
$digito=adecimal(substr($hexa1,$i,1))
+adecimal(substr($hexa2,$i,1))+$acarreo;
if ($digito>=16){
$digito=$digito-16;
$acarreo=1;
}
else{
$acarreo=0;
}
$resultado=achar($digito).$resultado;
}
if($acarreo==1){
$resultado="1".$resultado;
}
return $resultado;
}
?>
</head>
<body>
<h1>SUMA HEXADECIMAL</h1>
<form method='post' action='<?php echo $_SERVER['PHP_SELF']?
>'>
<fieldset><legend>DATOS</legend>
NUMERO HEXADECIMAL <input type='text' name='numero1'
autofocus><br>
NUMERO HEXADECIMAL <input type='text' name='numero2'><br>
<br>RESULTADO <input type='text' name='oct' readonly
value='<?php echo sumar($_POST['numero1'],$_POST['numero2']); ?>'>
<input type='submit' name='boton' value='enviar'>
<?php if (ISSET($_POST['boton'])!=NULL) {
$x=" ".$_POST['numero1'];
$y=" ".$_POST['numero2'];
echo "<br>numero 1 ".$x." <br>numero 2 ".$y; } ?>
</fieldset>
</form>
</body>
</html>

Sumahex

  • 1.
    <html> <head> <title>SUMA DE DOSNUMEROS HEXADECIMALES</title> <?php function adecimal($c){ $decimal=0; switch ($c){ case '0': $decimal=0; break; case '1': $decimal=1; break; case '2': $decimal=2; break; case '3': $decimal=3; break; case '4': $decimal=4; break; case '5': $decimal=5; break; case '6': $decimal=6; break; case '7': $decimal=7; break; case '8': $decimal=8; break; case '9': $decimal=9; break; case 'A': $decimal=10; break; case 'B': $decimal=11; break; case 'C': $decimal=12; break; case 'D': $decimal=13; break; case 'E': $decimal=14; break; case 'F': $decimal=15; break; } return $decimal; } function achar($dig){ $decimal=''; switch ($dig){ case 0: $decimal='0'; break; case 1: $decimal='1'; break; case 2: $decimal='2'; break;
  • 2.
    case 3: $decimal='3'; break; case4: $decimal='4'; break; case 5: $decimal='5'; break; case 6: $decimal='6'; break; case 7: $decimal='7'; break; case 8: $decimal='8'; break; case 9: $decimal='9'; break; case 10: $decimal='A'; break; case 11: $decimal='B'; break; case 12: $decimal='C'; break; case 13: $decimal='D'; break; case 14: $decimal='E'; break; case 15: $decimal='F'; break; } return $decimal; } function sumar($hexa1,$hexa2) { $hexa1=strtoupper($hexa1); $hexa2=strtoupper($hexa2); $resultado=""; $acarreo=0; $w=strlen($hexa1)-strlen($hexa2); for ($i=0;$i<$w;$i++) { $hexa2='0'.strval($hexa2); } //$q=strlen($octal1)-strlen($octal2); $r=strlen($hexa2); //echo "octal2 ".$octal2." y octal1 ".$octal1." la diferencia es ".$q." listo ".$r."yaaaaaaa"; for ($i=$r-1;$i>=0;$i--) { $digito=adecimal(substr($hexa1,$i,1)) +adecimal(substr($hexa2,$i,1))+$acarreo; if ($digito>=16){ $digito=$digito-16; $acarreo=1; }
  • 3.
    else{ $acarreo=0; } $resultado=achar($digito).$resultado; } if($acarreo==1){ $resultado="1".$resultado; } return $resultado; } ?> </head> <body> <h1>SUMA HEXADECIMAL</h1> <formmethod='post' action='<?php echo $_SERVER['PHP_SELF']? >'> <fieldset><legend>DATOS</legend> NUMERO HEXADECIMAL <input type='text' name='numero1' autofocus><br> NUMERO HEXADECIMAL <input type='text' name='numero2'><br> <br>RESULTADO <input type='text' name='oct' readonly value='<?php echo sumar($_POST['numero1'],$_POST['numero2']); ?>'> <input type='submit' name='boton' value='enviar'> <?php if (ISSET($_POST['boton'])!=NULL) { $x=" ".$_POST['numero1']; $y=" ".$_POST['numero2']; echo "<br>numero 1 ".$x." <br>numero 2 ".$y; } ?> </fieldset> </form> </body> </html>