无忧启动论坛

标题: DOS下如何实现数值运算? [打印本页]

作者: gmy    时间: 2005-6-5 11:56
标题: DOS下如何实现数值运算?
[这个贴子最后由gmy在 2005/06/05 01:23pm 第 1 次编辑]

大家知道,在BASIC,C语言或WIN2K的CMD命令行中可以轻松实现数值运算,但在纯DOS命令行下就困难了,需要第三方工具strings或varset等,如果是普通的+-*/的算数运算还能对付,但稍难一点的,诸如 BASIC 求整数 x=int(y) 就不好现实了,不知纯DOS下有这样的第三方小工具吗?另外还有 求四舍五入,平方根,绝对值 函数也要!
作者: wang6071    时间: 2005-6-5 14:40
标题: DOS下如何实现数值运算?
[这个贴子最后由wang6071在 2005/06/05 08:48pm 第 2 次编辑]

下面使用xset.com处理四舍五入例,注意,下面的批处理仅处理小数位是0-1位的情况,大于1位请修改相应的left判断语句。
set vartmp=10.4                        //这里放入要处理的数
xset /math vartmp1=%vartmp%+0.5        //先将原值+0.5
xset /math var=%vartmp1%-%vartmp%      //用新值-原值
if not var=="1" goto var1   
var0:
   set var=%vartmp1%      //处理原值小数位是0.5的情况(此时新值无小数位)
   goto end
var1:
   xset /left -2 var=%vartmp1%  //原值小数位不是0.5的情况(此时新值有小数位,用left去掉)
end:
   set vartmp=
   set vartmp1=
至此,var中已是需要的四舍五入的值。
xset的/math可以做
    Mathematical operators:
      - on integer and floating point values:     + - * / () ^ (exponent)  //有指数运算哦!
      - on integer values:                        % (modulo)
    Logical operators:      = < > <= >= <>
                            return 1 if true, 0 if false
                            Rem: ';*'; may be used to ';and'; values,
                                 ';+'; to ';or'; them.
    Precedence:   + and - have the highest precedence,
                  all other expressions are ev&#97;luated from left to right.
另外,strings也可以做整数的add(整数加) sub(整数减) mul(整数乘) div(整数除) and or xor not(逻辑运算)等运算(注意,仅限于整数)
楼主要求的平方根,绝对值可以通过上述方法来变通解决。

作者: pk4321    时间: 2005-6-6 14:46
标题: DOS下如何实现数值运算?
在DOS下通过命令行进行计算还不如使用Tubro C或QBASIC来算好过了!
作者: gmy    时间: 2005-6-6 16:29
标题: DOS下如何实现数值运算?
谢谢 wang6071,看来只能用XSET自己写了
作者: tanchenglong    时间: 2024-3-22 13:43
好贴,先收藏了,楼主加油~~
作者: axiang117    时间: 2024-3-22 15:22
现在dos基本上没人用了,只能帮顶
作者: pda8888    时间: 2024-3-23 14:11
有dos版的bc,可以用。
作者: dos时代菜鸟    时间: 2024-3-23 16:48
20年前的问题,现在 回答个啥?




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3