Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off & setlocal enableDelayedExpansion
- call :macros
- echo.
- echo floatDIV MACRO
- echo.----------------------------------------------------------
- for /l %%a in (1,1,20) do (
- set /a "rnd1=!random! %% 49 + 1", "rnd2=!random! %% 49 + 1"
- %floatDIV% !rnd1! !rnd2!
- )
- echo.
- echo.
- echo floatDIV :FUNCTION
- echo.----------------------------------------------------------
- for /l %%a in (1,1,20) do (
- set /a "rnd1=!random! %% 49 + 1", "rnd2=!random! %% 49 + 1"
- call :floatDIV !rnd1! !rnd2!
- )
- pause & exit
- :macros
- set ^"LF=^
- ^" Above empty line is required - do not remove
- set ^"\n=^^^%LF%%LF%^%LF%%LF%^^"
- for /F %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
- set floatDIV=for %%# in (1 2) do if %%#==2 ( for /f "tokens=1-3" %%1 in ("^!args^!") do (%\n%
- set /a "i=%%~1 / %%~2", "f=(( ((~(%%~1-%%~2)>>31)&1) * ((10000 * (%%~1 - %%~2)) %% ((%%~2) * 10000) / %%~2) )|((~ ((~(%%~1-%%~2)>>31)&1) &1)* (((%%~1) * 10000) %% ((%%~2) * 10000) / %%~2) ))"%\n%
- if "^!f:~3^!" equ "" set "f=0^!f^!"%\n%
- for /f "tokens=1,2" %%a in ("^!i^! ^!f^!") do ( if "%%~3" neq "" ( set "%%~3=%%a.%%b" ) else echo %%~1 / %%~2 = %%a.%%b )%\n%
- )) else set args=
- goto :eof
- :floatDIV
- rem BOOL GY BOOL LY
- set /a "i=%~1 / %~2", "f=(( ((~(%~1-%~2)>>31)&1) * ((10000 * (%~1 - %~2)) %% ((%~2) * 10000) / %~2) )|((~ ((~(%~1-%~2)>>31)&1) &1)* (((%~1) * 10000) %% ((%~2) * 10000) / %~2) ))"
- if "!f:~3!" equ "" set "f=0!f!"
- if "%~3" neq "" ( set "%~3=!i!.!f!" ) else ( echo %~1 / %~2 = !i!.!f! )
- goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement