楼 主
问个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
论坛跳转: