我想实现一个BigInt类,它可以处理非常大的数字。 我只想添加和乘以数字,但是该类还应处理负数。
我想将数字表示为字符串,但将字符串转换为int并进行加法会有很大开销。 我想按照高中的方式执行加法,在相应顺序上添加,如果结果大于10,则将进位添加到下一个顺序中。
然后我认为最好将其作为无符号长整型数组处理,并通过布尔值将符号分离。 在这种情况下,我担心int的大小,因为据我所知,C++标准仅保证int < float < double。 如果我达到某个数字,我应该向前移动数组并开始将数字添加到下一个数组位置。
是否有任何适合此问题的数据结构或更好的方法?
我想将数字表示为字符串,但将字符串转换为int并进行加法会有很大开销。 我想按照高中的方式执行加法,在相应顺序上添加,如果结果大于10,则将进位添加到下一个顺序中。
然后我认为最好将其作为无符号长整型数组处理,并通过布尔值将符号分离。 在这种情况下,我担心int的大小,因为据我所知,C++标准仅保证int < float < double。 如果我达到某个数字,我应该向前移动数组并开始将数字添加到下一个数组位置。
是否有任何适合此问题的数据结构或更好的方法?
float <= double
(请注意等号)。 - ipc