找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26319|回复: 7

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

[复制链接]
发表于 2008-8-19 22:19:24 | 显示全部楼层 |阅读模式
不润色了 恩 不知道以前有没有人发过一样的 有的话就不好意思了
  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
复制代码
大家能不能告诉我批处理最大支持的数字是几位????
批处理支不支持浮点数呀?????????(没试过)
以上代码 可以正常使用 以测试
发表于 2008-8-19 22:59:32 | 显示全部楼层
最大支持正负2147483647

[ 本帖最后由 aaqqi1111 于 2008-8-21 14:31 编辑 ]
发表于 2008-8-20 09:25:52 | 显示全部楼层
  1. @echo off
  2. set /a d=1^<^<31,x="~d"
  3. echo cmd所能处理的最小数值为 %d%
  4. echo cmd所能处理的最大数值为 %x%
  5. pause>nul
复制代码
发表于 2008-8-20 12:32:00 | 显示全部楼层

用得着这么麻烦吗?直接用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技术 +1 收起 理由
m91opse + 1 厉害了

查看全部评分

发表于 2018-5-9 20:36:30 | 显示全部楼层
奇怪4楼的批处理输入数值运行后,CMD窗口直接关闭,也没有结果?
发表于 2018-5-9 20:39:24 | 显示全部楼层
本帖最后由 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 批处理命令后,测试正常
发表于 2018-5-9 20:47:59 | 显示全部楼层
请问,有没有计算小数的次方啊?唉,我数学,学的不好换给老师了。
发表于 2018-5-9 21:43:11 | 显示全部楼层
回复 4# oowgsoo
请问有小数的次方计算吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:07 , Processed in 0.018019 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表