miren acabo de leer un manual hoy y queria hacer algo con lo aprendido ;D. hago un bat con este codigo:
@echo off
title Programa de potencias by archeritone
set/p a=Escribe el numero del cual quieras obtener la potencia:
echo.
set/a pote=%a%^%a%
echo.
echo La potencia de %a% es %pote%
echo.
echo La proxima lo haces por tus medios cabron xD
pause
exit
Lo ejecuto y por ejemplo, pongo 3 y en vez de salir 27 sale 33. Es cosa del sinvolo ^?
Gracias adelantadas.
Si te fijas y ejecutas set /? pues en una linea aparece
^ - bit a bit exclusivo o
Despues cuando tenga más tiempo te pongo el BATCH de como calcular %a%^%a%
Saludos ;)
Hay que leer los temas pegados:
Aki una funcion para calcular potencias:
:: Autor ne0x
@echo off
set /P BASE=Base :
set /P EXPONENTE=Exponente :
if %BASE%.==. exit 1
if %EXPONENTE%.==. exit 1
set resultado=1
FOR /L %%A IN (1,1,%EXPONENTE%) DO set /A resultado=resultado*BASE
echo Resultado : %resultado%
goto:EOF
Saludos ;)
Muchas gracias, se agradece gente así. La próxima lo mirare. ;)
Cita de: nhaalclkiemr en 10 Agosto 2007, 00:06 AM
Hay que leer los temas pegados:
Aki una funcion para calcular potencias:
:: Autor ne0x
@echo off
set /P BASE=Base :
set /P EXPONENTE=Exponente :
if %BASE%.==. exit 1
if %EXPONENTE%.==. exit 1
set resultado=1
FOR /L %%A IN (1,1,%EXPONENTE%) DO set /A resultado=resultado*BASE
echo Resultado : %resultado%
goto:EOF
Saludos ;)
LE FALTA UN PAUSE ;D ;D
kedaria asi:
:: Autor ne0x
@echo off
set /P BASE=Base :
set /P EXPONENTE=Exponente :
if %BASE%.==. exit 1
if %EXPONENTE%.==. exit 1
set resultado=1
FOR /L %%A IN (1,1,%EXPONENTE%) DO set /A resultado=resultado*BASE
echo Resultado : %resultado%
pause
goto:EOF
bueno, pues te iva a responder yo pero ya te han respondido...
Queria saber porq son necesarias estas lineas en el codigo de la potencia:
if %BASE%.==. exit 1
if %EXPONENTE%.==. exit 1
set resultado=1
yo utilizo el codigo sin esto para algunas aplicaciones y me funciona igual de bien...
saludos
Los dos IF sirven para salir del BATCH en caso de que no introduzcas ni una base ni una potencia...
set resultado=1 se pone para que al empezar el FOR en esta operación resultado=resultado*BASE no se multiplique por 0 y que dé siempre 0
Saludos ;)