Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Julio 26, 2008, 11:59:30
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: Funcion :D2B (convierte decimal a binario) 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Funcion :D2B (convierte decimal a binario)  (Leído 191 veces)
The Shadow
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« en: Marzo 04, 2008, 02:40:15 »

Código: (batch)
@echo off
::D2B
::Por: The Shadow|Shadow
::Info: Convierte un numero decimal a binario
::Parametros: %1=numero decimal
::Devuelve: %bin%=numero binario
::Nivel de precision:1 byte
:d2b
setlocal
if %1'==' goto err
set /a cmp=%1*1
if not %cmp%==%1 goto err
if /I %1 gtr 198 goto err
set bin=
set ay=%1
if %ay%==1 (set bin=1 && goto enda)
:aval
set lim=a
call :len %ay%
set /a lon=%len%-1
set lim=9
for /L %%a in (1,1,%lon%) do (
set lim=9%lim%
)
set lim=%lim: =%
set naa=0
:cnta
if "%naa%"=="%lim%" (goto tst)
set /a cy=%naa%*2
if /I "%cy%" EQU "%ay%" (
set bin=%bin%0
goto cmp
)
set /a naa=%naa%+1
goto cnta
:tst
set bin=%bin%1
:cmp
if /I %ay% lss 2 goto end
set /A ay=%ay%/2
goto aval
:ohce
set wrd=
set ohce=
if %1'==' goto er_o
set wrd=%1
set wrd=%wrd:"=cnf%
call :len %wrd%
set /a len=%len%-1
for /l %%a in (%len%,-1,0) do (
call :st %%wrd:~%%a,1%%
)
set ohce=%ohce:"=%
set ohce=%ohce:fnc="%
goto :EOF
:st
set p1=%1
set ohce=%ohce%%p1%
goto :EOF
:len
if %1'==' echo La sintaxis es: len [cadena] && goto :EOF
set w=%1
set a=0
set bol=0
:lp
call :cnt "%%w:~%a%,1%%" %a%
if %bol%==1 goto :EOF
set /a a=%a%+1
goto lp
:cnt
set cur=%1
set len=%2
if %cur%a==""a (
set bol=1
)
goto :EOF
:er_o
echo La sintaxis es: h2d [cadena]
goto :EOF
:err
echo La sintaxis es: && echo.
echo d2b [numero]
echo. && echo Los numeros estan limitados a 1 byte aprox.
goto :EOF
:end
call :ohce %bin%
set bin=%ohce%
:enda
echo %bin%
endlocal
goto :EOF
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
Legendarex
Recien Llegado
*
Desconectado Desconectado

Mensajes: 17


10110010010110100100E


Ver Perfil Email
« Respuesta #1 en: Marzo 22, 2008, 02:42:24 »

disculpa por mi ignorancia pero te rogaria que lo explicaras el codigo que hiciste shadow y gracias de antemano
En línea
Sh4k4
Colaborador
*****
Desconectado Desconectado

Mensajes: 557


SHAKA


Ver Perfil WWW
« Respuesta #2 en: Marzo 22, 2008, 08:31:32 »

simon!! linea a linea..jejeje es broma nice.. The Shadow... nice  Cool
En línea

Arayashiki
The Shadow
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #3 en: Marzo 27, 2008, 05:45:46 »

Wink ... jeje 

weno Legendarex  .... el codigo es un script que convierte un numero decimal en binario .... bastante simple .


Saludos!
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
:: SmartGenius™ :: ツ
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1660


Hello there...you was Bluejacked ¡¡...xD

smartgenius@el-hacker.org
Ver Perfil WWW
« Respuesta #4 en: Mayo 08, 2008, 05:16:25 »

Esta funcion es muy buena man (al igual que las otras) y la verdad que la he usado en unos casos..

pero tengo una duda y es si se puede hacer que acepte numeros mas grandes que 198, y que explicaras mas o menos el proceso que usas, asi entre todos podemos ayudar...

yo tengo una idea, pero no se si funcione, y es con el uso del modulo..

Ej: para el numero 9

la primera operacion 9 mod 2=1 y 9/2=4
luego 4 mod 2=0 y 4/2=2
luego 2 mod 2=0 y 2/2=1
luego 1= 1 (no hacemos mod porque ya es el ultimo digito)

asi vamos haciendo primero un mod al numero introducido (guardamos el resultado dle mod en una variable), luego el numero introducio lo dividimos en 2 y es el que se pasaria como siguiente dato al mod, y asi sucesivamente hasta que obtenemos uno..

luego las variables que vamos guardando dle mod, las invertimos con alguna de tus funciones y tenemos es numero en binario..

que les parece la idea ??

Saludos.
En línea



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion






Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglas del Area de Phreaking - Leetelas


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Aplicaciones que nunca deben faltar en tu Movil !!
:: SmartGenius™ :: ツ
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1660


Hello there...you was Bluejacked ¡¡...xD

smartgenius@el-hacker.org
Ver Perfil WWW
« Respuesta #5 en: Mayo 09, 2008, 01:15:10 »

Bien... he empezado a codear un poco, y he tomado la funcion de invertir una cadena...

el code lo llevo mas o menos asi:

Código:
 @echo off
title Decimal a Binario - By :: SmartGenius
rem El codigo de inversion de Cadena pertenece a The Shadow
rem El resto me lo ingenie Yo.

:main
echo.
echo  Introduzca el Numero decimal
echo.
set /p num="> "
if %num%==1 echo.&echo  %num% en Binario es 1&echo.&pause&exit
set /a b=%num%%%2
set /a n1=%num%/2
if %n1%==1 goto fin
set /a b2=%n1%%%2
set /a n2=%n1%/2
if %n2%==1 goto fin

:fin
echo.
set bin=%b%%b2%%b3%
call :ohce %bin%
set bin=%ohce%
echo %num% en Binario es 1%bin%
echo.
pause
exit

:ohce
set wrd=
set ohce=
if %1'==' goto er_o
set wrd=%1
set wrd=%wrd:"=cnf%
call :len %wrd%
set /a len=%len%-1
for /l %%a in (%len%,-1,0) do (
call :st %%wrd:~%%a,1%%
)
set ohce=%ohce:"=%
set ohce=%ohce:fnc="%
goto :EOF
:st
set p1=%1
set ohce=%ohce%%p1%
goto :EOF
:len
if %1'==' echo La sintaxis es: len [cadena] && goto :EOF
set w=%1
set a=0
set bol=0
:lp
call :cnt "%%w:~%a%,1%%" %a%
if %bol%==1 goto :EOF
set /a a=%a%+1
goto lp
:cnt
set cur=%1
set len=%2
if %cur%a==""a (
set bol=1
)
goto :EOF
:er_o
echo La sintaxis es: h2d [cadena]
goto :EOF

es corto porque solo llega hasta el 15, pero para mas numeros tenemos que agregar mas lineas bajo el principio...

set /p num="> "
if %num%==1 echo.&echo  %num% en Binario es 1&echo.&pause&exit
set /a b=%num%%%2
set /a n1=%num%/2
if %n1%==1 goto fin
set /a b2=%n1%%%2
set /a n2=%n1%/2
if %n2%==1 goto fin
set /a b3=%n2%%%2
set /a n3=%n2%/2
if %n3%==1 goto fin

y aqui mas lineas...parecidas a las anteriores

ademas de agregar %b3% o %b4% o las que se usen en

set bin=%b%%b2%%b3% aqui las otras..

y creo que serviria para muchso numeros...

que les parece mi idea ??

Saludos.

PD: alguien que por favor pruebe el code para que vean que funciona ¡¡

« Última modificación: Mayo 09, 2008, 01:16:30 por :: SmartGenius :: » En línea



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion






Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglas del Area de Phreaking - Leetelas


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Aplicaciones que nunca deben faltar en tu Movil !!
:: SmartGenius™ :: ツ
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1660


Hello there...you was Bluejacked ¡¡...xD

smartgenius@el-hacker.org
Ver Perfil WWW
« Respuesta #6 en: Mayo 09, 2008, 09:35:21 »

Bien, hice micode, y soporta hasta un millon d enumeros, y es facil modificarlo para que acepte mas, sin ningun problema y es muy exacto...

Yo queria quitar la imposibilidad de meter en esta funcion numeros mayores que 198...
No entendi muy bien el codigo de The Shadow, pero lo intente hacer a mi manera, solo me copie de el la funcion de Invertir una cadena...

Este es el codigo que yo hice:

Código:
@echo off
title Decimal a Binario - By :: SmartGenius ::
rem El codigo de Inversion de Cadena pertenece a The Shadow
rem El Calculo del Binario es de :: SmartGenius ::

:main
echo.
echo  Introduzca el Numero Decimal
echo.
set /p num="> "
if %num%==0 echo.&echo  %num% en Binario es 0&echo.&pause&exit
if %num%==1 echo.&echo  %num% en Binario es 1&echo.&pause&exit
set /a b=%num%%%2
set /a n1=%num%/2
if %n1%==1 goto fin
set /a b2=%n1%%%2
set /a n2=%n1%/2
if %n2%==1 goto fin
set /a b3=%n2%%%2
set /a n3=%n2%/2
if %n3%==1 goto fin
set /a b4=%n3%%%2
set /a n4=%n3%/2
if %n4%==1 goto fin
set /a b5=%n4%%%2
set /a n5=%n4%/2
if %n5%==1 goto fin
set /a b6=%n5%%%2
set /a n6=%n5%/2
if %n6%==1 goto fin
set /a b7=%n6%%%2
set /a n7=%n6%/2
if %n7%==1 goto fin
set /a b8=%n7%%%2
set /a n8=%n7%/2
if %n8%==1 goto fin
set /a b9=%n8%%%2
set /a n9=%n8%/2
if %n9%==1 goto fin
set /a b10=%n9%%%2
set /a n10=%n9%/2
if %n10%==1 goto fin
set /a b11=%n10%%%2
set /a n11=%n10%/2
if %n11%==1 goto fin
set /a b12=%n11%%%2
set /a n12=%n11%/2
if %n12%==1 goto fin
set /a b13=%n12%%%2
set /a n13=%n12%/2
if %n13%==1 goto fin
set /a b14=%n13%%%2
set /a n14=%n13%/2
if %n14%==1 goto fin
set /a b15=%n14%%%2
set /a n15=%n14%/2
if %n15%==1 goto fin
set /a b16=%n15%%%2
set /a n16=%n15%/2
if %n16%==1 goto fin
set /a b17=%n16%%%2
set /a n17=%n16%/2
if %n17%==1 goto fin
set /a b18=%n17%%%2
set /a n18=%n17%/2
if %n18%==1 goto fin
set /a b19=%n18%%%2
set /a n19=%n18%/2
if %n19%==1 goto fin
set /a b20=%n19%%%2
set /a n20=%n19%/2
if %n20%==1 goto fin

:fin
echo.
set bin=%b%%b2%%b3%%b4%%b5%%b6%%b7%%b8%%b9%%b10%%b11%%b12%%b13%%b14%%b15%%b16%%b17%%b18%%b19%%b20%
call :ohce %bin%
set bin=%ohce%
echo  %num% en Binario es 1%bin%
echo.
pause
exit

:ohce
set wrd=
set ohce=
if %1'==' goto er_o
set wrd=%1
set wrd=%wrd:"=cnf%
call :len %wrd%
set /a len=%len%-1
for /l %%a in (%len%,-1,0) do (
call :st %%wrd:~%%a,1%%
)
set ohce=%ohce:"=%
set ohce=%ohce:fnc="%
goto :EOF
:st
set p1=%1
set ohce=%ohce%%p1%
goto :EOF
:len
if %1'==' echo La sintaxis es: len [cadena] && goto :EOF
set w=%1
set a=0
set bol=0
:lp
call :cnt "%%w:~%a%,1%%" %a%
if %bol%==1 goto :EOF
set /a a=%a%+1
goto lp
:cnt
set cur=%1
set len=%2
if %cur%a==""a (
set bol=1
)
goto :EOF
:er_o
echo La sintaxis es: h2d [cadena]
goto :EOF


Aunque me puse a mirar un poco en internet yencontre en Daforos, un code de wizard_0
que tambien esta muy bueno.

Código:
@echo off
color 0a
set sw=false
:ini
cls
set /p n= Digite un  numero  digital
set aux=%n%
set n1=%n%
:wiz
if %sw%==true (msg * El numero binario de  %n1% es %cad% & goto ini) else (goto by)

:by
set /a c=c+1
set /a dig=aux%%2
set /a n=aux/2
set cad=%dig%%cad%
if %n%==0 (if %c%==1 (set sw=true & set cad=0%cad% & goto wiz))
if %n%==0 (set sw=true & goto wiz) else (set aux=%n% & goto wiz)

Igual se basa en el uso del modulo para sacar los binarios.

Saludos.
En línea



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion






Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglas del Area de Phreaking - Leetelas


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Aplicaciones que nunca deben faltar en tu Movil !!
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: Funcion :D2B (convierte decimal a binario) « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC