中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 23:33
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 在减法中突破set/a的运算位数限制 查看 849 回复 3
楼 主 在减法中突破set/a的运算位数限制 发表于 2008-04-05 23:02 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
减法中突破set/a的运算位数限制,应用在除法中被除数可以突破位数限制,但对除数还是有位数限制所以就不发除法的了!
REM 此P纯娱乐,

@echo off
SET Size=100001000789909099832539
SET Free=9983253910007899090
:stf
if %Size:~-1% geq %Free:~-1% (
set/a tx=%Size:~-1%-%Free:~-1%
call set tr=%%tx%%%tr%
set Size=%Size:~0,-1%&set Free=%Free:~0,-1%
if not defined Free goto next
goto stf
)
set/a tx=1%Size:~-1%-%Free:~-1%
call set tr=%%tx:~0,1%%%tr%
set Size=%Size:~0,-1%&set Free=%Free:~0,-1%
set tq=1%Size:~-9%
set/a tq-=1
set Size=%Size:~0,-9%%tq:~1%
if defined Free goto stf
:next
for /f "delims=0 tokens=*" %%i in ("%Size%%tr%") do echo %%i
pause
简单!简单!再简单!
2 发表于 2008-04-05 23:07 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
模拟人工计算麽?
3 发表于 2008-04-05 23:10 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
mark
4 发表于 2008-04-06 00:12 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
MS很厉害的,看过不得不爱版主的,不知和楼主的算法有和不同?

不妨介绍下算法
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
论坛跳转: