中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 18:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 问个SET计算问题, 查看 757 回复 2
楼 主 问个SET计算问题, 发表于 2007-05-26 11:19 ·  中国 福建 莆田 电信
初级用户
积分 49
发帖 20
注册 2006-04-22 11:03
20年会员
UID 54248
状态 离线
echo off
set a=0500
set b=0509
set /a b-=%a%
echo %b%
pause


为何%b% 会等于 -280 呢?

不能理解.不是我CMD出错吧

发现 8与 9 都会出错,
0508
0509

[ Last edited by iaide on 2007-5-26 at 11:35 AM ]
QQ批处理群:

群名:CMD批处理
群号:6702314
2 发表于 2007-05-26 11:57 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
0打头表示8进制....所以^

怎么不看/?的说明!!!!

如果 SET /A 在命令脚本外的命令行执行的,那么它显示该表达式的最后值。
该分配的操作符在分配的操作符左边需要一个环境变量名称。
除十六进制有 0x 前缀, 八进制有 0 前缀的,数字值为十进位数字。
因此, 0x12 与 18 和 022相同。请注意八进制公式可能很容易搞混:
08 和 09 是无效的数字,因为 8 和 9 不是有效的八进制位数。
3 发表于 2007-05-26 20:39 ·  中国 福建 莆田 电信
初级用户
积分 49
发帖 20
注册 2006-04-22 11:03
20年会员
UID 54248
状态 离线
谢谢,受教了.
QQ批处理群:

群名:CMD批处理
群号:6702314
论坛跳转: