Java 在整数数组中存储多个零
我正在尝试用Java实现BigInteger逻辑。我以字符串的形式获取输入,并将其转换和存储为int数组 现在,在执行两个整数数组的加法时,出现了问题 例如:Java 在整数数组中存储多个零,java,arrays,Java,Arrays,我正在尝试用Java实现BigInteger逻辑。我以字符串的形式获取输入,并将其转换和存储为int数组 现在,在执行两个整数数组的加法时,出现了问题 例如: int first_array[0]=999999999 int Second_array[0]=1; 我将得到附加值100000000,其中我将取第10位作为结转 carry_over=(first_array[0]+Second_array[0])/1000000000 ;//1 add_array[0]=(first_array
int first_array[0]=999999999
int Second_array[0]=1;
我将得到附加值100000000
,其中我将取第10位作为结转
carry_over=(first_array[0]+Second_array[0])/1000000000 ;//1
add_array[0]=(first_array[0]+Second_array[0])%1000000000 ;//000000000
我对add\u数组[0]
的期望值是000000000
,但它存储为0。也就是说,它将其存储为单个零,而不是九个零
有什么办法可以解决这个问题吗?它与0的000000000相同。数组的结果应该是相同的。唯一的问题是,当将数字打印为字符串时,会覆盖“BigInteger”类中的toString()方法,因此对于它调用string.format(“%09d%n”,n)的每个位置。然后用9位数字表示n中的任何数字不要将格式与数据混淆 000000000与0相同
前导零可能会导致问题,因为前导零意味着八进制文字 000000000和0是相同的值,您有一个整数数组,而不是字符串数组。您计划如何存储基本位置?对于基数10,你有一、十、百、千等等……你打算如何在这里表示它?(这个概念会让你摆脱困惑。)@Jean-FrançoisSavard我知道,所以我只是要求修复它——只要看看BigInteger的官方源代码,你就会看到它是如何产生的:顺便说一句,BigInteger不使用10的幂来存储它的整数,它使用64位长的值。