为什么当我乘以2的数字时,我的程序为什么批量给我错误的数字?

时间:2019-04-17 10:17:38

标签: batch-file

当我执行程序并放入1280000000 * 20之类的东西时,它给我-169803776,应该是25600000000,而当我尝试25600000000/20时,它给我-1698037766。这表明我的计算器有问题,因为数学定律说当a * b = c,b / c = a时,在这种情况下不正确。计算结果也不正确。

我尝试将相同的代码放入python(不同的语言)中,并且效果很好,所以我认为这与批处理本身有关。

echo off
cls

:start
cls
echo Welcome to the calculator
echo.
echo Choose one of the of the following
echo.
echo 1. Multiplication
echo 2. Division
echo.
set /p choose=Choose a number: 

IF %choose%==1 (
   goto multiply
) ELSE IF %choose%==2 (
   goto divide
) ELSE (
    goto error
)

:error
cls
echo THAT ISNT AN OPTION!!
echo.
pause
goto start

:multiply
cls
echo Pick 2 numbers to multiply
echo.
set /p a=Number 1: 
set /p b=Number 2: 
set /a c=%a%*%b%
cls
echo %a% x %b% = %c%
pause
goto start

:divide
cls
echo Pick 2 numbers to divide
echo.
set /p a=Number 1: 
set /p b=Number 2: 
set /a c=%a%/%b%
cls
echo %a% / %b% = %c%
pause
goto start

我希望输出1280000000 * 20 = 25600000000,但实际输出是-169803776。由于某种原因,此数字每次都会变为负数。

0 个答案:

没有答案