Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: maxx93 en 5 Agosto 2010, 06:08 am



Título: [Batch] Conversor de Hexadecimal a Decimal
Publicado por: maxx93 en 5 Agosto 2010, 06:08 am
Hola amigos, he creado un conversor de hexadecimal a decimal. Espero que les guste :)
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set num=%1
  4. if x%num%x==xx (goto :ayuda)
  5. if x%num:~0,1%%num:~-1%x neq x""x (goto :ayuda)
  6. set num=%num:~1,-1%
  7. set hex=%num%
  8. :cantidad
  9. set rep=-1
  10. set cuenta=1
  11. set fin=0
  12. set num=##%num%
  13. set verif=0
  14. :repetir
  15. set let=%num:~-1%
  16. if %let%==# (goto :fin)
  17. set /a rep=%rep%+1
  18. for /l %%a in (1,1,%rep%) do (set cuenta=!cuenta!*16)
  19. if %verif%==0 (set verif=1&set cuenta=1)
  20. if %let%==A (set let=10)
  21. if %let%==a (set let=10)
  22. if %let%==B (set let=11)
  23. if %let%==b (set let=11)
  24. if %let%==C (set let=12)
  25. if %let%==c (set let=12)
  26. if %let%==D (set let=13)
  27. if %let%==d (set let=13)
  28. if %let%==E (set let=14)
  29. if %let%==e (set let=14)
  30. if %let%==F (set let=15)
  31. if %let%==f (set let=15)
  32. set /a cuenta=%cuenta%
  33. set /a val=%let%*%cuenta%
  34. set /a fin=%val%+%fin%
  35. set num=%num:~0,-1%
  36. set cuenta=1
  37. goto :repetir
  38.  
  39. :fin
  40. echo %fin%
  41. echo %fin%>"HexaDec-Temp"
  42. pushd %temp%
  43. set cd=%2
  44. if x%cd%x==xx (set var=##)
  45. if x%cd:~0,1%%cd:~-1%x==x""x (
  46. for /f "delims=" %%a in ('type "%~p0\HexaDec-Temp"') do (
  47. set %cd:~1,-1%=%%a))
  48. del "%~p0\HexaDec-Temp"
  49. goto:eof
  50.  
  51. :ayuda
  52. echo HexaDec Convierte numeros hexadecimales a decimales
  53. echo Creado por MAXX93
  54. echo Sintaxis:
  55. echo HexaDec "valor" "variable"
  56. echo  Valor     Numero hexadecimal
  57. echo  Variable  Opcional permite guardar el resultado en una variable
  58. echo Ej.:
  59. echo HexaDec "309"
  60. echo HexaDec "309" "dec"
  61. goto:eof
  62.  

Salu2.


Título: Re: [Batch] Conversor de Hexadecimal a Decimal
Publicado por: Binary_Death en 5 Agosto 2010, 23:21 pm
No... si a mi gustar me gusta... pero... mira, prueba esto:

Código:
@Echo Off
set/p hex=Ingrese un numero en hexadecimal:
set/a dec=0x%hex%
Echo.El resultado de la conversion es: %dec%
Pause 1>NUL
exit/b

Pero en fin, siempre va bien saber los métodos mecánicos ^^

Saludos!


Título: Re: [Batch] Conversor de Hexadecimal a Decimal
Publicado por: maxx93 en 6 Agosto 2010, 01:07 am
 :o no sabia que se podia hacer asi jajaja :laugh:


Título: Re: [Batch] Conversor de Hexadecimal a Decimal
Publicado por: Binary_Death en 6 Agosto 2010, 03:14 am
Yyyy  :xD :xD ya ves, a veces nos complicamos la vida.
Pero igual, está genial para hacerlo manualmente, así se entiende la lógica de la conversión.
Si lo tienes que emplear en un código por X motivo, pues es mejor hacerlo por el método rápido, obviamente, que es más óptimo.

Saludos!