![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 10:18 |
共 48,037 主题排行 / 350,122 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [CMD]难道是IF判断无法判断数字大小了? |
| 可打印版本 1,202 / 3 |
| 第1楼 lxmxn | 发表于 2006-11-15 10:13 |
| 版主 发帖 4,938 积分 11,386 | |
|
[CMD]难道是IF判断无法判断数字大小了? 一次无聊在把玩CMD的时候,发现CMD的if判断语句竟然无法判断数字大小了。 大家在命令提示符里面试试下面这个语句: 呵呵,不会是自己的眼睛花了吧? 在看看下面这个: 不知道是什么原因,希望高手门可以解释一下CMD的这个小bug。 p.s. 我的测试环境是: CMD @ Windows XP SP2 |
|
| 第2楼 pengfei | 发表于 2006-11-15 10:33 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
你没有眼花, 这就是整型数据的溢出. 基本整形变量如果为2147483644, 溢出后为-4.
用下面这个演示程序输入2147483644就明白了. 附件 test.rar (7.16 KiB) |
|
| 第3楼 lxmxn | 发表于 2006-11-15 10:44 |
| 版主 发帖 4,938 积分 11,386 | |
|
恩,输入之后值变为4了。但是看不到演示过程,或者是如何溢出的。 p.s. 我还以为附件是一个溢出的演示录象呢。 =_= |
|
| 第4楼 pengfei | 发表于 2006-11-15 10:48 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
演示程序只是让你输入一个数字, 如果输入的输出不相同证明是溢出.
当你输入2147483644得到-4就是溢出. 这要讲到数据在内存中的存放形式了. 具体就不多说了, 我怕我也讲不明白... |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |