中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-24 10:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]不限制位数,10进制内同进制的两个数之间相乘 查看 1,238 回复 3
楼 主 [原创]不限制位数,10进制内同进制的两个数之间相乘 发表于 2009-02-21 15:22 ·  中国 广东 揭阳 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
写别的批处理,过程产生作品之一 。打稿纸在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 ]
本帖最近评分记录 (共 3 条) 点击查看详情
评分人分数时间
BC +4 2009-02-21 18:58
HAT +4 2009-02-21 19:15
moniuming +5 2009-02-21 20:22
2 发表于 2009-02-21 18:58 ·  中国 广东 江门 电信
中级用户
★★
积分 338
发帖 175
注册 2007-10-21 15:30
18年会员
UID 100351
性别 男
状态 离线
快快将模块分出来加入函数库吧...
3 发表于 2009-02-21 20:24 ·  中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
Originally posted by BC at 2009-2-21 18:58:
快快将模块分出来加入函数库吧...

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

[ Last edited by moniuming on 2009-2-21 at 20:27 ]
4 发表于 2009-02-22 11:32 ·  中国 广东 揭阳 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
所以有待改进嘛 莫急 一切都从简单开始。

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

[ Last edited by 523066680 on 2009-2-22 at 12:24 ]
论坛跳转: