中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]不限制位数,10进制内同进制的两个数之间相乘
作者:
标题: [原创]不限制位数,10进制内同进制的两个数之间相乘 上一主题 | 下一主题
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『楼 主』:  [原创]不限制位数,10进制内同进制的两个数之间相乘

写别的批处理,过程产生作品之一  。打稿纸在bathome的水区 和cn-dos的日志里


功能:不限制位数两个数之间相乘
         
输入格式如   10 20

可以选择10以内的进制 数 进行乘法运算 如 100 11 2    ,其中2表示2进制
@echo off &setlocal enabledelayedexpansion
title code by 523066680
set /p inp="input two numbers : "
call :naxnb %inp%
pause>nul
exit
:naxnb
set numa=%1
set numb=%2
if "%3"=="" (set /a delna=10,delnb=9) else (set /a delna=%3,delnb=%3-1)
set /a la=0,lpr=-1
:la
set /a la+=1,lb=0,lpr+=1,lp=lpr
  :lb
  set /a lb+=1,lp+=1,tlpa=lp,tlpb=lp+1
  :::::::::::::::::::::::::
  set /a cup%lp%+=!numa:~-%la%,1! * !numb:~-%lb%,1!
     :cuplp
     set /a cup%tlpb%+=cup%tlpa%/delna,cup%tlpa%=cup%tlpa%%%delna
     if !cup%tlpb%! gtr %delnb% (
        set /a tlpa+=1,tlpb=tlpa+1
        goto :cuplp
     ) else (if !cup%tlpb%! equ 0 set /a tlpb-=1)
  ::::::::::::::::::::::::::
  if not "!numb:~%lb%!"=="" (goto :lb)
if not "!numa:~%la%!"=="" (goto :la)
for /l %%a in (%tlpb%,-1,1) do set /p=!cup%%a!<nul
[ Last edited by 523066680 on 2009-5-1 at 23:09 ]

   此帖被 +13 点积分     点击查看详情   
评分人:【 BC 分数: +4  时间:2009-2-21 18:58
评分人:【 HAT 分数: +4  时间:2009-2-21 19:15
评分人:【 moniuming 分数: +5  时间:2009-2-21 20:22




综合型编程论坛

我的作品索引
  
2009-2-21 15:22
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 2 楼』:  

快快将模块分出来加入函数库吧...



C:\
C:\Del BC
2009-2-21 18:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by BC at 2009-2-21 18:58:
快快将模块分出来加入函数库吧...

不支持浮点运算和正负数运算,不能定义保留小数位数,做成函数还不够成熟...
这个怎么样?
【共同参与】"批处理函数库"

[ Last edited by moniuming on 2009-2-21 at 20:27 ]

2009-2-21 20:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 4 楼』:  

所以有待改进嘛   莫急   一切都从简单开始。

上网时间限制太大了  大伙都在进步 我却停滞不前 , 唉
靠着两张稿纸,继续努力...

[ Last edited by 523066680 on 2009-2-22 at 12:24 ]



综合型编程论坛

我的作品索引
  
2009-2-22 11:32
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: