中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 12:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]请问批处理中求出的数字字符串怎么进行计算? 查看 829 回复 6
楼 主 [已结]请问批处理中求出的数字字符串怎么进行计算? 发表于 2008-10-21 19:24 ·  IANA 局域网IP(Private-Use)
新手上路
积分 6
发帖 6
注册 2008-10-16 16:26
UID 128550
性别 男
状态 离线
比如说通过命令求出某个地址偏移为00012765,它的段基址为00040000,我想要将两个数相加为00052765,如何做到?

那位高人知道,赐教一下呗!

[ Last edited by HAT on 2008-10-22 at 15:03 ]
2 发表于 2008-10-21 19:31 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
@echo off
set var1=00012765
set var2=00040000
set /a sum=1%var1%+1%var2%
set sum=%sum:~1%
echo %sum%
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Holyfan +1 2008-10-22 14:58
3 发表于 2008-10-21 19:35 ·  IANA 局域网IP(Private-Use)
新手上路
积分 6
发帖 6
注册 2008-10-16 16:26
UID 128550
性别 男
状态 离线
HAT你太牛了,我真服了,bat这么麻烦。

我想再问一下,如果是以16进制进行运算呢?
4 Re 3楼 发表于 2008-10-21 19:43 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
@echo off
set /a var1=0xabc
set /a var2=0xcba
set /a sum=var1+var2
echo %sum%
pause

前面两个set中的/a是多余的,应删除:
@echo off
set var1=0xabc
set var2=0xcba
set /a sum=var1+var2
echo %sum%
pause


[ Last edited by HAT on 2008-10-21 at 20:58 ]
5 发表于 2008-10-21 19:59 ·  IANA 局域网IP(Private-Use)
新手上路
积分 6
发帖 6
注册 2008-10-16 16:26
UID 128550
性别 男
状态 离线
Originally posted by HAT at 2008-10-21 19:43:
@echo off
set /a var1=0xabc
set /a var2=0xcba
set /a sum=var1+var2
echo %sum%
pause


不好意思,我才接触批处理的知识,请问怎样才能得到16进制的结果呢?
6 Re 6楼 发表于 2008-10-21 21:07 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
@echo off
set var1=0xabc
set var2=0xcba
set /a sum=var1+var2
set var=%sum%
set code=abcdef
:again
set /a ws=%var%%%16
if %ws% geq 10 call :lp
set /a var/=16
set str=%str%%ws%
if %var% geq 16 goto again
set result=%var%%str%
echo %result%
pause
goto :eof
:lp
set ws=%ws:~1%
call,set ws=%%code:~%ws%,1%%
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Holyfan +1 2008-10-22 14:58
7 发表于 2008-10-22 14:58 ·  IANA 局域网IP(Private-Use)
新手上路
积分 6
发帖 6
注册 2008-10-16 16:26
UID 128550
性别 男
状态 离线
谢谢HAT
论坛跳转: