我有一个18位数的数字(num1)。我将它存储在整数数组中。 我有另一个数字(num2)也是18位数。这也存储在整数数组中。
我必须找到第一个数字的日志到第二个数字的基数(log num1到base num2)。
如何在C ++中执行此操作?我无法使用日志功能,因为数字存储在数组中。
答案 0 :(得分:2)
谷歌的关键术语是bigint
。有各种C ++库支持bigints
(即,只要你的内存允许,数字就可以了。)
我自己使用的唯一bigint库是GMP。但是,如果你只需要bigints上的单个函数(log,在你的情况下),那么可能需要一些较小的库(更实用)。
刚刚查看了GMP页面,顺便说一句,它全部称为bignums
。因此,这可能是搜索解决方案时使用的另一个有用术语。 ; - )