batch-file
Rekenkundige beperkingen omzeilen in batchbestanden
Zoeken…
Invoering
Batch-bestanden staan alleen 32bit gehele berekeningen toe, hoewel dit met verschillende benaderingen kan worden omzeild.
Powershell gebruiken
Omdat de powershell standaard op elk Windows-systeem vanaf 7/2008 wordt geïnstalleerd, kan het worden gebruikt voor complexere berekeningen:
@echo off
set "expression=(2+3)*10/1000"
for /f %%# in ('"powershell %expression%"') do set result=%%#
echo %result%
Let op de extra dubbele aanhalingstekens in de for /f
die voorkomen dat haakjes conflicteren met de syntaxis van for command.
Potentieel probleem is dat powershell veel langzamer is dan het gebruik van wsh / vbscript / jscript vanwege het laden van het .net-framerwork
Jscript gebruiken
WSH/JScript
is geïnstalleerd op elk Windows-systeem sinds NT, dus het gebruiken voor complexere berekeningen maakt het vrij draagbaar. JScript is eenvoudiger te combineren met batchbestand:
@if (@codesection==@batch) @then
@echo off
set "expression=2*(2+3)/1000"
for /f %%# in ('cscript //nologo //e:jscript "%~f0" "%expression%"') do set
result=%%#
echo %result%
:: more batch code
exit /b %errorlevel%
@end
WScript.Echo(eval(WScript.Arguments(0)));
Met deze aanpak kunt u uw hele code in één bestand plaatsen. Het is sneller dan het gebruik van powershell. Hier en hier zijn meer geavanceerde scripts te vinden (die kunnen worden gebruikt als externe bestanden).
Emulatie van pen- en papierberekeningen, implementaties van wiskundige functies
- Hier vindt u de meest uitgebreide wiskundebibliotheek die pen- en papierberekeningen emuleert en waarmee u met grotere getallen kunt werken.
- Hier zijn nog een paar voorbeelden van pen- en papieremulaties: TOEVOEGEN , Vergelijking , Vermenigvuldigen
- Sommige implementaties van wiskundige functies zijn hier te vinden.