Java Big Integer Value
12 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dyuman Joshi
il 1 Feb 2022
Commentato: Dyuman Joshi
il 15 Feb 2022
I was working with BigIntegers to solve a problem on Cody, where I got stuck upon something.
import java.math.*
BigInteger(10)
BigInteger(1234)
BigInteger(num2str(1234))
I tried to find why this happens but I couldn't find any useful resources. I have no knowledge of Java if anyone needs to know.
Is the default input to BigInteger a string/character array? (Which I suspect so)
Also an odd behaviour (which I don't understand)? Can someone explan why this happens?
for i=1:11
BigInteger(2^i+1)
end
0 Commenti
Risposta accettata
Walter Roberson
il 1 Feb 2022
The single-parameter form of BigInteger with a numeric parameter is
Translates a byte array containing the two's-complement binary representation of a BigInteger into a BigInteger."
So when you pass in a numeric value, it converts the numeric value to a signed byte.
When you pass in the result of num2str() you are using a different constructor,
Translates the decimal String representation of a BigInteger into a BigInteger."
5 Commenti
Walter Roberson
il 15 Feb 2022
One byte holds 8 bits, and 2^8 = 256 .
The BigInteger class always uses full bytes -- you cannot define a BigInteger that is (for example) 11 bits long
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!