几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(AutoLISP) (http://www.dimcax.com/hust/forumdisplay.php?f=178)
-   -   [求助]帮忙看哈子了,一个作业题。。。。 (http://www.dimcax.com/hust/showthread.php?t=11138)

yang686526 2009-04-26 01:16 PM

[求助]帮忙看哈子了,一个作业题。。。。
 
[求助]帮忙看哈子了,一个作业题。。。。
www.dimcax.com
[求助]帮忙看哈子了,一个作业题。。。。
通过工具菜单->加载应用程序 可加载该程序,然后可直接在命令行输入相关命令运行。如需要每次启动时均加载该程序,则可以将该文件放在启动组中。
文件预览:
加载运行时候输入30、50后则出现乘积为负数的结果,怎么回事?小弟想不出来哈~~~~
d
看不明白?是不是阶乘?
踅摸
d
把你的问提取出来。当repeat第9次的时候就相当于执行下面的运算:
(* 398808576 39)
但不知为什么产生的是负数?
d
超过了长整型数的正数表达范围,(* 398808576. 39)就可得到正确结果
d
比如输入a=1,b=100则结果为0
这样才是超出了范围吧?我认为超出范围返回结果为0,不能是负数吧?
d
是整型数超范围引起的。这样处理:
(repeat nn
(setq cj (* 1. cj num_cr));此句修改
(setq num_cr (1+ num_cr))
)
(prin1)
(setq str1(strcat"a="(itoa num_s)))
(setq str2(strcat"b="(itoa num_e)))
(setq str3(strcat"乘积="(rtos cj 2 0)));此句修改


所有的时间均为北京时间。 现在的时间是 08:53 AM.