baitang36 发表于 2022-6-17 21:18:45

如何操作64位长整数?

(setq a(vlax-make-variant 12345678901234567))
返回:#
i 需要一个长整型
**** Hidden Message *****

d2010 发表于 2022-6-20 06:49:50

23,即使你有int64口齿不清,“int64

JohnK 发表于 2022-6-20 16:03:27

也许用safearray吗?
(vlax-make-safearray vlax-vbLong '(1 . 80)); -Make a very large array of numbers.

baitang36 发表于 2022-6-21 01:25:09

(vlax-make-variant 1234567890123456789 20)
#
为什么?

d2010 发表于 2022-6-22 21:29:48

(vlax-make-variant 1234567890123456789 20)
#

为什么?

不支持,vlax-variant-value失败。
此外,
因此,似乎可以通过在ARX中存储值来解决这个问题,
也许您可以在类似(LowPart)的地方存储较大的值。HighPart),就像C++中的LARGE_INTEGER一样,注意,您必须编写自己的数学运算符

baitang36 发表于 2022-6-22 22:43:05

使用9223372036854775807 (max int64)作为测试

d2010 发表于 2022-6-27 10:18:12

在使用了许多整数64之后,内存消耗过多。
将int64转换为字符串时,数字和字符太多。
您知道吗;如何在没有idiv10的情况下将int64转换为字符串

baitang36 发表于 2022-6-28 20:52:56


(setq aa(vlax-variant-value(vlax-make-variant 15000000000 20))
aa是一个int64数字

baitang36 发表于 2022-6-29 16:23:25

okai
(setq aa(vlax-variant-value(vlax-make-variant 15000000000 20))
如何读“aa”?
如何添加aa+其他号码?
aa/int 32怎么分?

baitang36 发表于 2022-7-2 23:45:12

aa是INT,但不能添加子
页: [1] 2
查看完整版本: 如何操作64位长整数?