批处理计算器

批处理计算器.txt
复制时要把代码最下方的“智能批处理计算器使用说明”一起复制到代码中。否则会影响代码运行。
@echo off&set jiluk=&set /a jilu=0,xsljjg=0,xiaosu=10
title %~n0 智能计算器2 by 随风 @https://www.360docs.net/doc/af6914516.html, @2009-02-22
set sangcijg=&set "pi=3.1415926535897932384626433832795"
setlocal enabledelayedexpansion&set "lin=00000"
for /l %%a in (1 1 5) do set "lin=!lin!!lin!!lin!"
:kaisi
set yyd=&color cf
echo.&echo. 欢迎使用 智能批处理计算器
echo.&echo.&echo. 首次使用请先仔细阅读使用说明
echo.&echo. 本代码源自 《批处理之家论坛》 https://www.360docs.net/doc/af6914516.html,
echo.&echo. 使用中若发现 bug 请去该处反馈、谢谢 ^^!^^!^^!
echo.&echo.&echo.&echo. 重要声明:
echo.&echo. 本代码为 bat 批处理业余爱好者编写
echo.&echo. 可任意转载、使用、但若因此导致的任何错误、损失、本人概不负责。
echo.&echo.&echo.
echo. 请选择: 1 阅读使用说明 2 进入对文本操作界面 3 进入手动界面
:kaisi2
echo.&set xuanze=&set /p xuanze= &cls
if "%xuanze%"=="3" color 1f&goto start0
if not defined xuanze color 1f&goto start0
if defined yyd if "!xuanze!"=="1" cls&goto kaisi
if "%xuanze%"=="1" (
call :ydsuom "%~0"
set yyd=a&echo.&echo.
echo. 请选择:1 返回首页 2 进入对文本操作界面 3 进入手动界面
goto kaisi2
)
if not "%xuanze%"=="2" cls&goto kaisi
:wbjm 文本界面
cls&color 1f
echo.&echo. 直接回车返回首页。
echo.&echo. 按 3 进入手动输入算式界面。
echo.&echo. 请输入文件名全名及全路径,或拖放文件来此。
echo.&set wenben=&set /p wenben= &cls&set baocun=temp.txt
if "!wenben!"=="3" cls&goto start0
if not defined wenben cls&goto kaisi
set "wenben=%wenben:"=%"
if not exist "%wenben%" echo 文件不存在。。&ping/n 3 127.0>nul&goto wbjm
echo.&echo. 正在计算 %wenben:"=% 中的算式,结果保存在 %baocun% 中
echo.&echo. 请稍候 。。。&echo.

setlocal&cd.>"%baocun%"
for /f "usebackq delims=" %%a in ("%wenben%") do (
call :start0 "%%a" okk
>>"%baocun%" echo !okk!
)
start "" "%baocun%"
exit
:start0
setlocal
if "!wenben!"=="3" set "wenben="
if defined wenben set suru=%~1&goto wenben
echo.&echo. 累计储存结果:%xsljjg%
echo.&echo. %sangcijg%
echo.&echo.&echo.&echo. 输入 bz 查看帮助
echo.&echo. 请输入算式 如:-7+{2+[1+(3+-2*0.5--2*2+3)]+[3*(9--8*2)]*5/2}--2+5=
echo.&set "suru="&set /p suru= &cls
if "!suru!"=="bz" (
call :ydsuom "%~0"
echo.&echo. 按任意键返回 。。。&pause>nul&cls&color 1f
endlocal&set xsljjg=%jilu%&goto start0
)
if not defined suru endlocal&cls&set xsljjg=%jilu%&goto start0
set "suru=%suru: =%"
if "!suru:~-1!"=="+" set jiluk=a&set "bq=+"
if "!suru:~-1!"=="-" set jiluk=a&set "bq=-"
if "!suru:~-1!"=="*" set jiluk=a&set "bq=*"
if "!suru:~-1!"=="/" set jiluk=a&set "bq=/"
if "!suru:~-1!"=="

." set jiluk=a&set jilu=0&set "bq=+"
if defined jiluk set suru=!suru:~0,-1!

:wenben
set "suru=%suru: =%"
if "!suru:~0,1!"=="." set "suru=0!suru!"
for %%a in (c + - / ^( [ {) do set "suru=!suru:%%a.=%%a0.!"
if "%suru:~-1%"=="=" set "suru=%suru:~0,-1%"
echo.&echo.正在计算: %suru% =
set xsjg=%suru% =
:::从这里开始
set "ok="
if "%suru:~0,1%"=="-" set "suru=f%suru:~1%"
call :lis1 "%suru%" ok
set "ok=!Ok:~1!"
for %%a in (c + - / ^( [ {) do set "ok=!ok:%%a-=%%af!"
for /l %%a in (0 1 9) do (
set ok=!ok:%%a^(=%%ac^(!
set ok=!ok:^)%%a=^)c%%a!
set "ok=!ok:%%a[=%%ac[!"
set "ok=!ok:]%%a=]c%%a!"
set "ok=!ok:%%a{=%%ac{!"
set "ok=!ok:}%%a=}c%%a!"
)
set "ok=!ok:pi=%pi%!"
set "ok=0+!ok!+0"
call :cif "!ok!" ok
for %%g in ("()" "[]" "{}") do (
set "kuoh=%%~g"
call :lisxh "!ok!" ok
)
call :liscc "!ok!" ok
call :lisjj "!ok!" ok
set ok=!ok:f=-!
::完成计算
set lecs=&set "cucw="
if defined jiluk (
set "okok=!ok!"
set "leiji=!okok! !bq! !jilu!"
if "!bq!"=="/" if "!jilu!"=="0" (
set bq=*&set /a okok=1
set "leiji=0 + !jilu!"
set lecs=以零为除数的错误。累计储存结果不变。。。
)
if "!ok!"=="以零为除数的错误。" (
set lecs=以零为除数的错误。累计储存结果不变。。。
set "leiji=0 + !jilu!"
set bq=+&set /a okok=0
)
call :start "^(!okok!^)!bq!^(!jilu!^)" jilu
)
if defined wenben endlocal&set %~2=%xsjg% %ok%&goto :EOF
cls&set xsljjg=!jilu! !lecs!
set sangcijg=!xsjg! !ok! !cucw!

if defined jiluk (
endlocal&set jilu=%jilu%&set "xsljjg=%xsljjg%"&set "sangcijg=%sangcijg%"
) else endlocal&set "sangcijg=%sangcijg%"
goto start0
goto :EOF
:lisxh 处理各种()[]{}括弧
for /f "tokens=1,2* delims=%kuoh%" %%a in ("%~1") do (
if "%%b"=="" set %~2=!ok!&goto :EOF
call :liscc "%%b" ok
call :lisjj "!ok!" ok
set "ok=!ok:-=f!"
set "ok=%%a!ok!%%c"
call :lisxh "!ok!" ok
)
goto :EOF
:liscc 计算连续乘除
set ph=%~1&set q=&set h=&set aa=&set n=0
set ph=!ph:c= c# !&set ph=!ph:/= /@ !
set ph=!ph:+= + !&set ph=!ph:-= - !
for /f "tokens=1* delims=c/" %%a in ("!ph!") do (
if "%%b"=="" set %~2=!ph: =!&goto :EOF
for %%i in (%%a) do set q=!q!!aa!&set "aa=%%i"
for %%i in (%%b) do set /a n+=1&set "m!n!=%%i"
for /l %%i in (3 1 !n!) do set h=!h!!m%%i!
if "!m1!"=="#" (set m1=*) else set "m1=/"
set "js=^(!aa:f=-!^)!m1!^(!m2:f=-!^)"
if not "!h!"=="" set h=!h:c#=c!&set "h=!h:/@=/!"
call :start "!js!" ph
if "!ph!"=="以零为除数的错误。" set q=&set "h="
set "ph=!ph:-=f!"
set "ph=!q!!ph:-=f!!h!"
set "ph=!ph:/@=/!"
call :liscc "!ph!" ph
)
set "%~2=!ph: =!"
goto :EOF

:lisjj 计算连续加减
set he=&set js=%~1
set js=!js:+= +!&set js=!js:-= -!
for %%a in (!js!) do (
set "b=%%a"
if defined he (
set js=^(!he!^)!b:~0,1!^(!b:~1!^)
set js=!js:f=-!
call :start !js! he
) else set "he=%%a"
)


set "%~2=!he:-=f!"
goto :EOF

:lis1 将*号替换为c 方便代码运行
for /f "tokens=1* delims=*" %%a in ("%~1") do (
set "ok=!ok!c%%a"
call :lis1 "%%b" ok
if "%%b"=="" goto :EOF
)
set "%~2=%ok%"
goto :eof

:cif 处理次方
set aaa=&set bbb=&set aa=&set bb=&set n=0
for /f "tokens=1* delims=x" %%a in ("%~1") do (
if "%%b"=="" set %~2=!ok!&goto :EOF
set a=%%a&set "b=%%b"
set a=!a:^(=^( !&set a=!a:+=+ !&set a=!a:-=- !
set a=!a:c=c !&set a=!a:/=/ !
for %%i in (!a!) do set aaa=!aaa!!aa!&set aa=%%i
set b=!b:^)= ^)!&set b=!b:+= +!&set b=!b:-= -!
set b=!b:c= c!&set b=!b:/= /!
for %%i in (!b!) do set /a n+=1&set l!n!=%%i
set bb=!l1!&set "ok="
for /l %%i in (2 1 !n!) do set bbb=!bbb!!l%%i!
for /l %%i in (1 1 !bb!) do set ok=!ok!c!aa!
set "ok=!ok:~1!"
if "!bb!"=="0" set "ok=1c1"
if "!bb!"=="1" set "ok=!aa!c1"
call :liscc "!ok!" ok
set ok=!aaa!!ok!!bbb!
call :cif "!ok!" ok
)
set %~2=!ok!
goto :EOF

:start 计算单一算式
setlocal
set "suru=%~1"
set yunsuanf=&set f=&set "ff="&set xs1=&set "xs2="
set "suru=%suru: =%"
if "%suru:~-1%"=="=" set "suru=%suru:~0,-1%"
if "%suru:~0,1%"=="(" set suru=%suru:~1%&set "xs1=("
if "%suru:~0,1%"=="-" (set yf=-) else set "yf="
for /f "tokens=1* delims=+-*/" %%a in ("%suru%") do (
set num=%yf%%%a&set "str=%%b"
(set str=!str:^(=!&set str=!str:^)=!)
)
(set num=!num:^)=!)
set "ysf=!suru:*%num%=!"
if "%ysf:~0,1%"==")" set "ysf=%ysf:~1%"
set "ysf=!ysf:~0,1!"

if not defined xs1 (set "xs1=!num!")else set "xs1=!xs1!!num!)"
set "xsysf=%ysf%"
if "!str:~0,1!"=="-" (set "xs2=(!str!)")else set "xs2=!str!"
set "xsss=!xs1! !xsysf! !xs2!"

if "!num:~0,1!"=="-" (
if "!str:~0,1!"=="-" (set ff=) else set "ff=-"
) else if "!str:~0,1!"=="-" set "ff=-"

if "!ysf!"=="+" (
set "yunsuanf=jia"&set "ff="
if "!num:~0,1!"=="-" (
set "ff=-"
if not "!str:~0,1!"=="-" set "yunsuanf=jian"
) else if "!str:~0,1!"=="-" set "yunsuanf=jian"
)
if "!ysf!"=="-" (
set "yunsuanf=jian"&set "ff="
if "!num:~0,1!"=="-" (
set "ff=-"&set "yunsuanf=jia"
if "!str:~0,1!"=="-" set "yunsuanf=jian"
) else (if "!str:~0,1!"=="-" set yunsuanf=jia)
)
if "!ysf!"=="*" set "yunsuanf=cen"
if "!ysf!"=="/" (set "yunsuanf=cu0")
set num=!num:-=!&set "str=!str:-=!"
set /a numxw=0,strxw=0,xzw=0,xc=0,duo=0
call :pdxs %num% numz numx numxw
call :pdxs %str% strz strx strxw
if %numxw% geq %strxw% (set /a duo=numxw) else set /a duo=strxw
set /a xzw=numxw+strxw,xc=numxw-strxw&set "xc=!xc:-=!"
if !duo! neq 0 (
set "numx=!numx:~0,%duo%!"&set "strx=!strx:~0,%duo%!"
) else set "numx="&set "strx="
::echo 第一个数 整数 %numz% 小数 %numx% 小数的位数 %numxw% 位
::echo 第一个数 整数 %strz% 小数 %strx% 小数的位数 %strxw% 位
set "she=%numz%%numx% %strz%%strx%"
if "!ysf!"=="*" set /a duo=xzw&set "she=%num:.=% %str:.=%"
call :%yunsuanf% %she% ok
if "!ysf!"=="/" got

o ok
goto xs

:pdxs 给小数补0、获取小数位数。
setlocal&set /a z=0
set "var=%~1"
if "!var:~0,1!"=="." set "var=0!var!"
for /f "tokens=1* delims=." %%a in ("!var!")do (set "str1=%%a"
if "%%b"=="" (set str2=!lin!&set z=0) else (
set "str2=%%b"
for /l %%i in (0 1 9) do set "str2=!str2:%%i= %%i !"
for %%i in (!str2!) do set /a z+=1
set "str2=!str2: =!"&set "str2=%%b!lin!"
))
Endlocal&set %~2=%str1%&set %~3=%str2%&set "%~4=%z%"&goto :EOF

:xs 处理最终结果
if "%ok:-=%"=="0" goto ok
set "ok=!ff!!ok!"&set "lin="
if "!ok:~0,1!"=="-" (
if "!ok:~1,1!"=="-" (set "f=") else set "f=-"
) else set "f="
set "ok=!ok:-=!"
if !duo! equ 0 (goto ok) else (
set "ok=!lin!!ok!"
set "ok=!ok:~0,-%duo%!.!ok:~-%duo%,%duo%!"
)
:loop
if "!ok:~-1!"=="0" set ok=!ok:~0,-1!&goto loop
for /f "tokens=* delims=0" %%a in ("%ok%") do (
if "%%a"=="" (set ok=0&goto ok) else set "ok=%%a"
)
if "!ok!"=="." set ok=0&goto ok
if "!ok:~0,1!"=="." set "ok=0!ok!"
if "!ok:~-1!"=="." set "ok=!ok:~0,-1!"
:ok
endlocal&set %~2=%f%%ok%&goto :EOF

:jia 加法函数(封装)by @随风 @https://www.360docs.net/doc/af6914516.html,
::计算任意位数的正整数加法
setlocal enabledelayedexpansion&set f=&set "t="
set var1=%~1&set var2=%~2&set /a j=0,n1=0,n2=0
for /l %%a in (0 1 9) do (set vard1=&set "vard2="
set var1=!var1:%%a= %%a !&set var2=!var2:%%a= %%a !)
for %%a in (!var1!)do (set/a n1+=1&set vard1=%%a !vard1!)
for %%a in (!var2!)do (set/a n2+=1&set vard2=%%a !vard2!)
(if !n1! lss !n2! (set var1=%var2%&set "var2=%var1%"
set vard1=%vard2%&set vard2=%vard1%))&set "var2=!var2: =!"
for %%a in (!vard1!) do (if "!var2!"=="" set /a var2=0
set /a a=%%a+!var2:~-1!+j&set t=!a:~-1!!t!&set "a=0!a!"
set "j=!a:~-2,1!"&set var2=!var2:~0,-1!)
if !j! neq 0 set "t=!j!!t!"
Endlocal&set %~3=%t%&goto :EOF

:jian 减法函数(封装)by @随风 @https://www.360docs.net/doc/af6914516.html,
::计算1000位以内的正整数减法
setlocal enabledelayedexpansion&set f=&set "lin=00000"
for /l %%a in (1 1 5) do set "lin=!lin!!lin!!lin!"
set var1=!lin!%~1&set var2=!lin!%~2&set vard1=&set/a j=0
set t=&set var1=!var1:~-1000!&set "var2=!var2:~-1000!"
if "!var1!" lss "!var2!" (set var1=%~2&set "var2=%~1"
set "f=-") else set var1=%~1&set "var2=%~2"
for /l %%a in (0 1 9) do set "var1=!var1:%%a= %%a !"
for %%a in (!var1!) do set "vard1=%%a !vard1!"
for %%a in (!vard1!) do (if "!var2!"=="" set/a var2=0
set /a a=%%a-j,b=!var2:~-1!
if !a! lss !b! (set /a a+=10,j=1)else set /a j=0
set /a w=a-b&set t=!w!!t!&set var2=!var2:~0,-1!)
for /f "tokens=* delims=0" %%a in ("!t!") do (
if "%%a"=="" (set t=0) else set "t=%%a")
Endlocal&set %~3=%f%%t%&goto :EOF

:cen 乘法函数(封装)by @随风 @https://www.360docs.net/doc/af6914516.html,
::计算任意位数的正整数乘法
setlocal enabledelayedexpansion
if "%~1"=="0" Endlocal&set %~3=0&goto :EOF
if "%~2"=="0" Endlocal&set %~3=0&goto :EOF
set f=&set jia=&set ji=&set /a n1=0,n2=0
set vard1=&set "vard2="&set var1=%~1&set "var2=%~2"
for /l %

%a in (0 1 9) do (
set var1=!var1:%%a= %%a !&set var2=!var2:%%a= %%a !)
for %%a in (!var1!)do (set /a n1+=1&set vard1=%%a !vard1!)
for %%a in (!var2!)do (set /a n2+=1&set vard2=%%a !vard2!)
if !n1! gtr !n2! (set vard1=%vard2%&set vard2=%vard1%)
for %%a in (!vard1!) do (set "t="&set /a j=0
for %%b in (!vard2!) do (if "!jia!"=="" set /a jia=0
set /a a=%%a*%%b+j+!jia:~-1!&set "t=!a:~-1!!t!"
set a=0!a!&set j=!a:~-2,1!&set jia=!jia:~0,-1!)
set ji=!t:~-1!!ji!&(if "!j:~0,1!"=="0" (set ss=)else (
set ss=!j:~0,1!))&set jia=!ss!!t:~0,-1!)
(if not "!j:~0,1!"=="0" set t=!j:~0,1!!t!)&set "ji=!t!!ji:~1!"
Endlocal&set %~3=%ji%&goto :EOF

:cu0 500位内整数除法函数(封装)by @随风 https://www.360docs.net/doc/af6914516.html,
::函数内有 cu1 cu2 cu3 cu4 四个标签,引用时需注意
setlocal enabledelayedexpansion&set "lin=00000"
for /l %%a in (1 1 5) do set "lin=!lin!!lin!!lin!"
set /a zongw=1000,cs1w=0,cs2w=0,falg=0,x=0
if "!str!"=="1" Endlocal&set %~3=%ff%!num!&goto :EOF
if "%~1"=="0" set sang=0&goto cu4
if "!str!"=="0" set sang=以零为除数的错误。&goto cu4
if not defined xiaosu set /a xiaosu=10
set sang=&set ppp=&set var1=%~1&set "var2=%~2"
for /f "tokens=* delims=0" %%a in ("!var1!")do set var1=%%a
for /f "tokens=* delims=0" %%a in ("!var2!")do set var2=%%a
for /l %%a in (0 1 9)do (set "var1=!var1:%%a= %%a !"
set "var2=!var2:%%a= %%a !")
for %%a in (!var1!) do set /a cs1w+=1
for %%a in (!var2!) do set /a cs2w+=1
for /l %%a in (1 1 10) do (set t=&set cs=%~2&set/a j=0
for /l %%b in (1 1 !cs2w!) do (set /a a=%%a*!cs:~-1!+j
set t=!a:~-1!!t!&set a=0!a!&set "j=!a:~-2,1!"
set cs=!cs:~0,-1!&set cs%%a=&set "bj%%a=")
if !j! neq 0 (set cs%%a=!lin!!j!!t!&set "bj%%a=!j!!t!"
) else set cs%%a=!lin!!t!&set "bj%%a=!t!"
set "cs%%a=!cs%%a:~-%zongw%!")
set var2=!lin!!var2: =!&set "var2=!var2:~-%zongw%!"
set /a cswc=cs1w-cs2w&set "var1=!var1: =!"
if !cswc! lss 0 (set cswc=!cswc:-=!&set/a flag=1
for /l %%a in (1 1 !cswc!)do (
if %%a leq 11 set sang=0!sang!&set /a x=cswc-1
set "var1=!var1!0")
set "sang=!sang:~0,1!.!sang:~1!")
set ppp=!var1:~0,%cs2w%!&set "var1=!var1:~%cs2w%!"
if !flag! equ 1 (set /a bul=1) else set /a bul=0
goto cu2
:cu1
if not defined var1 (set "var1=0"
if not defined ppp goto cu4
if !flag! equ 0 (set sang=!sang!.&set /a flag=1))
set/a bul=1&set ppp=!ppp!!var1:~0,1!&set "var1=!var1:~1!"
:cu2
if !x! geq %xiaosu% goto cu4
set pvar1=!lin!!ppp!&set "pvar1=!pvar1:~-%zongw%!"
if "!pvar1!" lss "!var2!" (
if !bul! equ 1 (set sang=!sang!0&set /a bul=0
if !flag! equ 1 set /a x+=1)
if "!ppp:~0,1!"=="0" set "ppp="
goto cu1)
if !flag! equ 1 set /a x+=1
set /a bul=0
::计算商
for /l %%a in (1 1 10) do (
if "!cs%%a!" equ "!pvar1!" (
set "sang=!sang!%%a"&set "yu=!bj%%a!"&goto cu3)
if "!cs%%a!" gtr "!pvar1!" (set /a s=%%a-1
set "sang=!sang!!s!"&set yu=!t!&goto cu3)
set "t=!bj%%a!")
:cu3 计算差
set cjs=!ppp!&set cj1=&set m=&set/a jjj=0
for /l %%a in (0 1 9) do set "cjs=!cjs:%%a= %%a !"
for %%a in (!cjs!) do

set "cj1=%%a !cj1!"
for %%a in (!cj1!) do (if "!yu!"=="" set/a yu=0
set /a a=%%a-jjj,b=!yu:~-1!
if !a! lss !b! (set /a a+=10,jjj=1)else set/a jjj=0
set /a w=a-b&set m=!w!!m!&set yu=!yu:~0,-1!)
for /f "tokens=* delims=0" %%m in ("!m!") do (
if "%%m"=="" (set m=0) else set "m=%%m")
if !m! equ 0 (
if "!var1:0=!"=="" set sang=!sang!!var1!&goto cu4
set ppp=&goto cu1) else set "ppp=!m!"
goto cu2
:cu4
if "!sang:~0,1!"=="." set "sang=0!sang!"
Endlocal&set %~3=%ff%%sang%&goto :EOF

:ydsuom 阅读使用说明
color df&set "flag3="
for /f "usebackq delims=" %%a in ("%~1")do (
if "%%a"=="智能批处理计算器使用说明:" set flag3=a
if defined flag3 echo.&echo %%a
)
echo.&echo. ===============================================================
set xiansixs= 除法默认保留 %xiaosu% 位小数,
echo.&echo. !xiansixs!可自行修改代码第一行的 set /a xiaosu=%xiaosu%
echo.
echo.&echo. 注意:代码未对输入格式作正确与否判断,
echo. 所以输入必须正确,否则答案可能有误 ......
set flag3=&goto :EOF

智能批处理计算器使用说明:
1、可对1000位以内 整数、小数、负数进行 加减乘除 计算(除法 500 位)
1000位 指需计算的数的位数不能超过1000位,包扩小数点及小数的位数
2、可对连续的算式进行计算如:1+2-3*4/5
3、支持括弧号如:7+[5*(-2+3)+(1+-2)-2+8]
运算符为 + - * / ( ) [ ] { }
计算次序为 先括弧内、后括弧外、先乘除、再加减
括弧次序依次为:小括弧() 中括弧[] 大括弧{}
4、输入格式:
负数的输入如:负8减负5 -8--5 或 负8加负5 -8+-5
小数的输入如:0.5 直接输入 .5 也可以,但返回信息会自动补上0
括弧外测的乘号可省略如:2*(5+3)可简写成 2(5+3) 或 (5+3)2
算式后面的 = 号 可有可无 如:1+2+3= 或 1+2+3 都可以
5、可对文本内的算式进行批量计算,文本内必须一行一个算式
6、手动输入算式:
若在算式末尾加上运算符 可把该次计算结果累计到 存储结果中 如:2+6+
加上 . 将储存结果中的值更改为该次计算结果 如:输入:2+6.
举例:输入 2+6 / 表示用该次计算结果 即:8 除以储存结果中的值
小技巧:输入数字加点 定义储存结果的初始值
输入数字加运算符 对储存结果的值进行计算
7、圆周率:3.1415926535897932384626433832795
圆周率默认31位小数 用 pi 表示
如:输入:3*pi 等同 3*3.1415926535897932384626433832795
8、次方的计算及输入:
如:计算 16的3次方 可输入 16x3 如:8的5次方 输入:8x5
也可在算式中直接输入次方如:2+(2*16x2)+8x5

相关文档
最新文档