乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: cadsterdyne

[编程交流] Autolisp中的小数和数学

[复制链接]

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 18:04:49 | 显示全部楼层
抢手货这与32位整数的范围有关。
要解决此问题,必须使用实数而不是整数进行计算:
  1. (rtos (* (float day) 24 60 60) 2 0)
回复

使用道具 举报

8

主题

29

帖子

21

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 18:06:26 | 显示全部楼层
非常感谢Roy_043
现在我看到32位和64位大于。
32bit=4gb RAM。
 
 
谢谢大家的帮助。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:12:22 | 显示全部楼层
 
请注意,限制不是机器上安装的RAM数量的结果。
 
与其他编程语言不同,其他编程语言允许您严格指定变量的精确数据类型,并且在涉及整数的情况下,区分有符号/无符号16位“短”整数、32位或64位“长”整数,因为数据类型在AutoLISP中是隐含的,当使用整数时,您总是被限制为使用有符号32位整数。
 
这意味着您只能使用范围为2147483648到2147483647(-2^31到(2^31)-1)的整数表示。要表示此范围之外的数值,必须使用AutoLISP real(也称为double),它使用双精度浮点格式以不同的精度存储高达1e308的值。
回复

使用道具 举报

8

主题

29

帖子

21

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 18:15:12 | 显示全部楼层
非常感谢李。当然,这对我了解与Autolisp相关的概念有很大帮助。
现在,当我详细查找您和其他人在这里提到的所有主题后,我曾经看到的范围为32768到32767的错误将变得更容易理解。
 
谢谢你的帮助
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:21:48 | 显示全部楼层
 
不客气!
 
 
是-当试图为getint函数提供一个超出此范围的整数时,可能会出现此错误;这个限制是使用16位有符号整数的早期版本的残余。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 07:54 , Processed in 0.404168 second(s), 61 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表