2010-05-29 4 views
8

में दो बड़ी संख्याओं (512 बिट्स) को गुणा करने के लिए कैसे करें मैं जावा में दो 512 बिट पूर्णांक गुणा करना चाहता हूं और परिणाम को स्टोर करना चाहता हूं। ऐसा करने के लिए कुछ विधि सुझाएं।जावा

उत्तर

7

उपयोग java.math.BigInteger

उपयोग का एक त्वरित उदाहरण का उपयोग करें:

import java.math.BigInteger; 

public class BigIntegerTest { 
    public static void main(String[] args) { 
     BigInteger b1 = new BigInteger("200000000000000000000000000000000001"); 
     BigInteger b2 = new BigInteger("400000000000000000000000000000000000"); 

     System.out.println(b1.multiply(b2)); 
     System.out.println(b1.bitCount()); 
     System.out.println(b1.pow(13)); 
    } 
} 
13

मैं सुझाव है कि आप java.math.BigInteger

+0

लेकिन मैं एक मुसीबत मिल गया '*' opertion जावा पर अनुमति नहीं है। .math.BigInteger प्रकार – condinya

+0

@ बिप्ल आपको इसके बजाय गुणा() विधि का उपयोग करना होगा। – helpermethod

+0

क्योंकि जावा ऑपरेटर ओवरलोड का समर्थन नहीं करता है .. लेकिन आपके पास कुछ आसान तरीके होंगे :) – Jack