只需一步,快速开始
加载运行时候输入30、50后则出现乘积为负数的结果,怎么回事?小弟想不出来哈~~~~
您需要 登录 才可以下载或查看,没有账号?注册
使用道具 举报
把你的问提取出来。当repeat第9次的时候就相当于执行下面的运算:
(* 398808576 39)
但不知为什么产生的是负数?
比如输入A=1,B=100则结果为0
这样才是超出了范围吧?我认为超出范围返回结果为0,不能是负数吧?
是整型数超范围引起的。这样处理:
(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)));此句修改
liu_kunlun发表于2009-1-11 16:33:00是整型数超范围引起的。这样处理: (repeat nn (setq cj (* 1. cj num_cr));此句修改 (setq num_cr (1+ num_cr)) ) (prin
多谢多谢,先转换成实数,再用rtos转化为字符串输出。。。
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-7-29 13:38 , Processed in 0.197629 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.