<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;
}