中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 15:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]关于set/a 的问题 查看 784 回复 3
楼 主 [求助]关于set/a 的问题 发表于 2008-08-25 09:13 ·  中国 广东 佛山 电信
新手上路
积分 12
发帖 3
注册 2007-12-07 19:18
18年会员
UID 105000
性别 男
状态 离线
我用下面的语句

set /a b=08

提示:无效数字。数字常数只能是十进制<17>,十六位进制<0x11>或八进制<021>

但是用
set/a b=07

这个语句就可以正常使用,不知道是什么原因。
2 发表于 2008-08-25 09:25 ·  中国 广东 佛山 电信
新手上路
积分 12
发帖 3
注册 2007-12-07 19:18
18年会员
UID 105000
性别 男
状态 离线
找到原因了。

数值是指十进制的数字,在前缀加 0× 则表示十六进制数字,加 0 则表示八进制数字。因此,0×2 与 18 相同,也与 022 相同,八进制表示法容易引起混淆。例如,08 和 09 不是有效数字,因为 8 和 9 不是有效的八进制数字。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
moniuming +4 2008-08-25 10:27
3 发表于 2008-08-25 19:33 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by yeah2000 at 2008-8-25 09:25:
找到原因了。

数值是指十进制的数字,在前缀加 0× 则表示十六进制数字,加 0 则表示八进制数字。因此,0×2 与 18 相同,也与 022 相同,八进制表 ...


0x2 与 18 相同?
4 发表于 2008-08-25 19:42 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
楼主贴帮助的时候搞错了吧,呵呵。
So 0x12 is the same as 18 is the same as 022. Please note that the octal
notation can be confusing: 08 and 09 are not valid numbers because 8 and
9 are not valid octal digits.
论坛跳转: