标题: [数值计算] 批处理计算数的任意次方 [打印本页]
作者: 基拉freedom 时间: 2008-8-19 22:19 标题: 批处理计算数的任意次方
不润色了 恩 不知道以前有没有人发过一样的 有的话就不好意思了- @echo off
- set /p a=输入数字:
- set /p b=输入n次方:
- set d=a
- set /a c=%b%-1
- setlocal EnableDelayedExpansion
- :begin
- set /a d=!d!*%a%
- set /a c=!c!-1
- if "!c!"=="0" goto end
- goto begin
- :end
- echo %a%的%b%次是!d!
- pause
复制代码
大家能不能告诉我批处理最大支持的数字是几位????
批处理支不支持浮点数呀?????????(没试过)
以上代码 可以正常使用 以测试
作者: aaqqi1111 时间: 2008-8-19 22:59
最大支持正负2147483647
[ 本帖最后由 aaqqi1111 于 2008-8-21 14:31 编辑 ]
作者: batman 时间: 2008-8-20 09:25
- @echo off
- set /a d=1^<^<31,x="~d"
- echo cmd所能处理的最小数值为 %d%
- echo cmd所能处理的最大数值为 %x%
- pause>nul
复制代码
作者: oowgsoo 时间: 2008-8-20 12:32 标题: 用得着这么麻烦吗?直接用for不就行了嘛
@echo off
set /p a=输入数字:
set /p n=输入n次方:
set ret=1
for /L %%i in (1,1,%n%) do set /a ret*=%a%
echo 输出结果:%ret%
作者: m91opse 时间: 2018-5-9 20:36
奇怪4楼的批处理输入数值运行后,CMD窗口直接关闭,也没有结果?
作者: m91opse 时间: 2018-5-9 20:39
本帖最后由 m91opse 于 2018-5-9 22:07 编辑
哦!知道了,是4楼的批处理最后缺少了这个命令导致的 pause- @echo off
-
- set /p a=输入数字:
- set /p n=输入n次方:
-
- set ret=1
- for /L %%i in (1,1,%n%) do set /a ret*=%a%
-
- echo 输出结果:%ret%
-
- pause
复制代码
根据4楼的批处理,在最后加入 pause 批处理命令后,测试正常
作者: m91opse 时间: 2018-5-9 20:47
请问,有没有计算小数的次方啊?唉,我数学,学的不好换给老师了。
作者: m91opse 时间: 2018-5-9 21:43
回复 4# oowgsoo
请问有小数的次方计算吗?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |