[求助]在COMMAND下使用CAL与LISP下使用CAL,为何计算结果会不同呢?
指令: CAL>> 表示式: 300*300
90000
指令: (CAL "300*300")
24464
指令: CAL >> 表示式: 500*300
150000
指令: (CAL "500*300")
18928
指令: CAL
>> 表示式: 100*100000
10000000
指令: (CAL "100*100000")
-27008
什么原因呢?
是不是CAL指令不适用于LISP使用吗?
求高手解答,谢谢!
cal是cad自带的简易计算程序,内核还是Lisp或C(ADS)等接口语言,所以,使用时需要遵循常规计算的规则,即整数计算得整数,实数计算得实数。
用cal作为函数时,把数值转变为实数,计算结果就正确了。
按说即使作为整数,计算也应该是正确的,但cal开了一定的位数来存储计算结果,这个限制就是整数32768,如果整数结果不超过32768,显示就是正确的,否则就错误。 感谢 ll_j 回覆!
指令: (COMMAND "CAL" "" "300*300")
90000
这样执行O.K.
请问如何取得90000之数值 (command "cal" "300.*300")
结果: 90000.0
2F正解,其实-32768~32767区间有效
页:
[1]