[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 批处理计算数的任意次方

不润色了 恩 不知道以前有没有人发过一样的 有的话就不好意思了
  1. @echo off
  2. set /p a=输入数字:
  3. set /p b=输入n次方:
  4. set d=a
  5. set /a c=%b%-1
  6. setlocal EnableDelayedExpansion
  7. :begin
  8. set /a d=!d!*%a%
  9. set /a c=!c!-1
  10. if "!c!"=="0" goto end
  11. goto begin
  12. :end
  13. echo %a%的%b%次是!d!
  14. pause
复制代码
大家能不能告诉我批处理最大支持的数字是几位????
批处理支不支持浮点数呀?????????(没试过)
以上代码 可以正常使用 以测试
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

最大支持正负2147483647

[ 本帖最后由 aaqqi1111 于 2008-8-21 14:31 编辑 ]

TOP

  1. @echo off
  2. set /a d=1^<^<31,x="~d"
  3. echo cmd所能处理的最小数值为 %d%
  4. echo cmd所能处理的最大数值为 %x%
  5. pause>nul
复制代码
***共同提高***

TOP

用得着这么麻烦吗?直接用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%
1

评分人数

TOP

奇怪4楼的批处理输入数值运行后,CMD窗口直接关闭,也没有结果?

TOP

本帖最后由 m91opse 于 2018-5-9 22:07 编辑

哦!知道了,是4楼的批处理最后缺少了这个命令导致的 pause
  1. @echo off
  2. set /p a=输入数字:
  3. set /p n=输入n次方:
  4. set ret=1
  5. for /L %%i in (1,1,%n%) do set /a ret*=%a%
  6. echo 输出结果:%ret%
  7. pause
复制代码
根据4楼的批处理,在最后加入 pause 批处理命令后,测试正常

TOP

请问,有没有计算小数的次方啊?唉,我数学,学的不好换给老师了。

TOP

回复 4# oowgsoo
请问有小数的次方计算吗?

TOP

返回列表