我想问一下,这个代码中如何使用超过32位的数字,代码应该将两个超过32位的二进制数相乘,甚至long都行不通,我不知道我应该如何使用BigInteger在这段代码中!谁能帮忙,谢谢
public static void main(String [] args)
{
long a , b ;
Scanner scanner = new Scanner (System.in);
a = scanner.nextLong();
b = scanner.nextLong() ;
long sumA = 0 ;
long sumB = 0 ;
double i = 0;
while ( a != 0 || b != 0)
{
sumA += (a % 10) * Math.pow( 2.0 , i ) ;
sumB += (b % 10) * Math.pow( 2.0 , i ) ;
a /= 10 ;
b /= 10 ;
i++ ;
}
a = sumA ;
b = sumB ;
long c = a * b ;
long temp = 0 ;
for (int k = 0 ; c!=0 ; k++)
{
temp +=( Math.pow(10.0, k) * (c % 2) );
c /= 2 ;
}
System.out.println(temp) ;
}