标题: [已结]请问批处理中求出的数字字符串怎么进行计算?
[打印本页]
作者: Holyfan
时间: 2008-10-21 19:24
标题: [已结]请问批处理中求出的数字字符串怎么进行计算?
比如说通过命令求出某个地址偏移为00012765,它的段基址为00040000,我想要将两个数相加为00052765,如何做到?
那位高人知道,赐教一下呗!
[
Last edited by HAT on 2008-10-22 at 15:03 ]
作者: HAT
时间: 2008-10-21 19:31
@echo off
set var1=00012765
set var2=00040000
set /a sum=1%var1%+1%var2%
set sum=%sum:~1%
echo %sum%
pause
作者: Holyfan
时间: 2008-10-21 19:35
HAT你太牛了,我真服了,bat这么麻烦。
我想再问一下,如果是以16进制进行运算呢?
作者: HAT
时间: 2008-10-21 19:43
标题: Re 3楼
@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 ]
作者: Holyfan
时间: 2008-10-21 19:59
Quote: |
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进制的结果呢?
作者: HAT
时间: 2008-10-21 21:07
标题: Re 6楼
@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%%
作者: Holyfan
时间: 2008-10-22 14:58
谢谢HAT