<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FData_Type%2FBigInteger</id>
		<title>Java/Data Type/BigInteger - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FData_Type%2FBigInteger"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Data_Type/BigInteger&amp;action=history"/>
		<updated>2026-04-21T12:51:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Data_Type/BigInteger&amp;diff=6777&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Data_Type/BigInteger&amp;diff=6777&amp;oldid=prev"/>
				<updated>2010-06-01T06:19:07Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:19, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Data_Type/BigInteger&amp;diff=6776&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Data_Type/BigInteger&amp;diff=6776&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== and operation on BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.and(bi);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== antNot operation on BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.andNot(bi);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BigInteger.isProbablePrime ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class BigNumApp {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    BigInteger n = new BigInteger(&amp;quot;1000000000000&amp;quot;);&lt;br /&gt;
    BigInteger one = new BigInteger(&amp;quot;1&amp;quot;);&lt;br /&gt;
    while (!n.isProbablePrime(7))&lt;br /&gt;
      n = n.add(one);&lt;br /&gt;
    System.out.println(n.toString(10) + &amp;quot; is probably prime.&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;It is &amp;quot; + n.bitLength() + &amp;quot; bits in length.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Calculate the power on a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    int exponent = 2;&lt;br /&gt;
    bi1 = bi1.pow(exponent);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear a bit in a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.clearBit(3);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Compute the Palindrome of a number by adding the number composed of ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
/** Compute the Palindrome of a number by adding the number composed of&lt;br /&gt;
 * its digits in reverse order, until a Palindrome occurs.&lt;br /&gt;
 * e.g., 42-&amp;gt;66 (42+24); 1951-&amp;gt;5995 (1951+1591=3542; 3542+2453=5995).&lt;br /&gt;
 * &amp;lt;P&amp;gt;TODO: Do we need to handle negative numbers?&lt;br /&gt;
 * @author Ian Darwin, http://www.darwinsys.ru/&lt;br /&gt;
 * @version $Id: PalindromeBig.java,v 1.3 2004/02/09 03:33:57 ian Exp $.&lt;br /&gt;
 */&lt;br /&gt;
public class PalindromeBig {&lt;br /&gt;
  public static boolean verbose = true;&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    for (int i=0; i&amp;lt;argv.length; i++)&lt;br /&gt;
      try {&lt;br /&gt;
        BigInteger l = new BigInteger(argv[i]);&lt;br /&gt;
        if (l.rupareTo(BigInteger.ZERO) &amp;lt; 0) {&lt;br /&gt;
          System.err.println(argv[i] + &amp;quot; -&amp;gt; TOO SMALL&amp;quot;);&lt;br /&gt;
          continue;&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(argv[i] + &amp;quot;-&amp;gt;&amp;quot; + findPalindrome(l));&lt;br /&gt;
      } catch (NumberFormatException e) {&lt;br /&gt;
        System.err.println(argv[i] + &amp;quot;-&amp;gt; INVALID&amp;quot;);&lt;br /&gt;
      } catch (IllegalStateException e) {&lt;br /&gt;
        System.err.println(argv[i] + &amp;quot;-&amp;gt; &amp;quot; + e);&lt;br /&gt;
      } &lt;br /&gt;
  }&lt;br /&gt;
  /** find a palindromic number given a starting point, by&lt;br /&gt;
   * calling ourself until we get a number that is palindromic.&lt;br /&gt;
   */&lt;br /&gt;
  public static BigInteger findPalindrome(BigInteger num) {&lt;br /&gt;
    if (num.rupareTo(BigInteger.ZERO) &amp;lt; 0)&lt;br /&gt;
      throw new IllegalStateException(&amp;quot;negative&amp;quot;);&lt;br /&gt;
    if (isPalindrome(num))&lt;br /&gt;
      return num;&lt;br /&gt;
    if (verbose)&lt;br /&gt;
      System.out.println(&amp;quot;Trying &amp;quot; + num);&lt;br /&gt;
    return findPalindrome(num.add(reverseNumber(num)));&lt;br /&gt;
  }&lt;br /&gt;
  /** A ridiculously large number  */&lt;br /&gt;
  protected static final int MAX_DIGITS = 255;&lt;br /&gt;
  /** Check if a number is palindromic. */&lt;br /&gt;
  public static boolean isPalindrome(BigInteger num) {&lt;br /&gt;
    String digits = num.toString();&lt;br /&gt;
    int numDigits = digits.length();&lt;br /&gt;
    if (numDigits &amp;gt;= MAX_DIGITS) {&lt;br /&gt;
      throw new IllegalStateException(&amp;quot;too big&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    // Consider any single digit to be as palindromic as can be&lt;br /&gt;
    if (numDigits == 1)&lt;br /&gt;
      return true;&lt;br /&gt;
    for (int i=0; i&amp;lt;numDigits/2; i++) {&lt;br /&gt;
      // System.out.println(&lt;br /&gt;
      //   digits.charAt(i) + &amp;quot; ? &amp;quot; + digits.charAt(numDigits - i - 1));&lt;br /&gt;
      if (digits.charAt(i) != digits.charAt(numDigits - i - 1))&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  static BigInteger reverseNumber(BigInteger num) {&lt;br /&gt;
    String digits = num.toString();&lt;br /&gt;
      int numDigits = digits.length();&lt;br /&gt;
    char[] sb = new char[numDigits];&lt;br /&gt;
    for (int i=0; i&amp;lt;digits.length(); i++) {&lt;br /&gt;
      sb[i] = digits.charAt(numDigits - i - 1);&lt;br /&gt;
    }&lt;br /&gt;
    // Debug.println(&amp;quot;rev&amp;quot;,&lt;br /&gt;
    //   &amp;quot;reverseNumber(&amp;quot; + digits + &amp;quot;) -&amp;gt; &amp;quot; + &amp;quot;\&amp;quot;&amp;quot; + sb + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
    return new BigInteger(new String(sb));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Convert BigInteger into another radix number ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    BigInteger number = new BigInteger(&amp;quot;2008&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Number      = &amp;quot; + number);&lt;br /&gt;
    System.out.println(&amp;quot;Binary      = &amp;quot; + number.toString(2));&lt;br /&gt;
    System.out.println(&amp;quot;Octal       = &amp;quot; + number.toString(8));&lt;br /&gt;
    System.out.println(&amp;quot;Hexadecimal = &amp;quot; + number.toString(16));&lt;br /&gt;
    number = new BigInteger(&amp;quot;FF&amp;quot;, 16);&lt;br /&gt;
    System.out.println(&amp;quot;Number      = &amp;quot; + number);&lt;br /&gt;
    System.out.println(&amp;quot;Number      = &amp;quot; + number.toString(16));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create a BigInteger using the byte array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { (byte) 0x12, (byte) 0x0F, (byte) 0xF0 };&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create BigInteger from byte array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // A negative value&lt;br /&gt;
    byte[] bytes = new byte[] { (byte) 0xFF, 0x00, 0x00 }; // -65536&lt;br /&gt;
    // A positive value&lt;br /&gt;
    bytes = new byte[] { 0x1, 0x00, 0x00 }; // 65536&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create BigInteger via long type variable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Create via a string&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    // Create via a long&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.add(bi2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create BigInteger via string ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Create via a string&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    // Create via a long&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.add(bi2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demonstration of high-precision integer arithmetic with the BigInteger class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/*&lt;br /&gt;
Java Programming for Engineers&lt;br /&gt;
Julio Sanchez&lt;br /&gt;
Maria P. Canton&lt;br /&gt;
&lt;br /&gt;
ISBN: 0849308100&lt;br /&gt;
Publisher: CRC Press&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Java for Engineers&lt;br /&gt;
//Filename: BigIFact&lt;br /&gt;
//Reference: Chapter 22&lt;br /&gt;
//Description:&lt;br /&gt;
//         Demonstration of high-precision integer arithmetic&lt;br /&gt;
//         with the BigInteger class. Program calculates the&lt;br /&gt;
//         factorial of a big integer number&lt;br /&gt;
//Requires:&lt;br /&gt;
//         Keyin class in current directory&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class BigIFact {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    int v; // Input&lt;br /&gt;
    BigInteger p = BigInteger.valueOf(1); // Factor&lt;br /&gt;
    System.out.println(&amp;quot;Big integer factorial routine\n&amp;quot;);&lt;br /&gt;
    v = Keyin.inInt(&amp;quot;Enter value: &amp;quot;);&lt;br /&gt;
    // Calculate factorial by iteration&lt;br /&gt;
    for (int i = 1; i &amp;lt;= v; i++)&lt;br /&gt;
      p = p.multiply(BigInteger.valueOf(i));&lt;br /&gt;
    // Display result&lt;br /&gt;
    System.out.println(p);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//**********************************************************&lt;br /&gt;
//**********************************************************&lt;br /&gt;
//Program: Keyin&lt;br /&gt;
//Reference: Session 20&lt;br /&gt;
//Topics:&lt;br /&gt;
//1. Using the read() method of the ImputStream class&lt;br /&gt;
//in the java.io package&lt;br /&gt;
//2. Developing a class for performing basic console&lt;br /&gt;
//input of character and numeric types&lt;br /&gt;
//**********************************************************&lt;br /&gt;
//**********************************************************&lt;br /&gt;
class Keyin {&lt;br /&gt;
  //*******************************&lt;br /&gt;
  //   support methods&lt;br /&gt;
  //*******************************&lt;br /&gt;
  //Method to display the user&amp;quot;s prompt string&lt;br /&gt;
  public static void printPrompt(String prompt) {&lt;br /&gt;
    System.out.print(prompt + &amp;quot; &amp;quot;);&lt;br /&gt;
    System.out.flush();&lt;br /&gt;
  }&lt;br /&gt;
  //Method to make sure no data is available in the&lt;br /&gt;
  //input stream&lt;br /&gt;
  public static void inputFlush() {&lt;br /&gt;
    int dummy;&lt;br /&gt;
    int bAvail;&lt;br /&gt;
    try {&lt;br /&gt;
      while ((System.in.available()) != 0)&lt;br /&gt;
        dummy = System.in.read();&lt;br /&gt;
    } catch (java.io.IOException e) {&lt;br /&gt;
      System.out.println(&amp;quot;Input error&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  //********************************&lt;br /&gt;
  //  data input methods for&lt;br /&gt;
  //string, int, char, and double&lt;br /&gt;
  //********************************&lt;br /&gt;
  public static String inString(String prompt) {&lt;br /&gt;
    inputFlush();&lt;br /&gt;
    printPrompt(prompt);&lt;br /&gt;
    return inString();&lt;br /&gt;
  }&lt;br /&gt;
  public static String inString() {&lt;br /&gt;
    int aChar;&lt;br /&gt;
    String s = &amp;quot;&amp;quot;;&lt;br /&gt;
    boolean finished = false;&lt;br /&gt;
    while (!finished) {&lt;br /&gt;
      try {&lt;br /&gt;
        aChar = System.in.read();&lt;br /&gt;
        if (aChar &amp;lt; 0 || (char) aChar == &amp;quot;\n&amp;quot;)&lt;br /&gt;
          finished = true;&lt;br /&gt;
        else if ((char) aChar != &amp;quot;\r&amp;quot;)&lt;br /&gt;
          s = s + (char) aChar; // Enter into string&lt;br /&gt;
      }&lt;br /&gt;
      catch (java.io.IOException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Input error&amp;quot;);&lt;br /&gt;
        finished = true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return s;&lt;br /&gt;
  }&lt;br /&gt;
  public static int inInt(String prompt) {&lt;br /&gt;
    while (true) {&lt;br /&gt;
      inputFlush();&lt;br /&gt;
      printPrompt(prompt);&lt;br /&gt;
      try {&lt;br /&gt;
        return Integer.valueOf(inString().trim()).intValue();&lt;br /&gt;
      }&lt;br /&gt;
      catch (NumberFormatException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Invalid input. Not an integer&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static char inChar(String prompt) {&lt;br /&gt;
    int aChar = 0;&lt;br /&gt;
    inputFlush();&lt;br /&gt;
    printPrompt(prompt);&lt;br /&gt;
    try {&lt;br /&gt;
      aChar = System.in.read();&lt;br /&gt;
    }&lt;br /&gt;
    catch (java.io.IOException e) {&lt;br /&gt;
      System.out.println(&amp;quot;Input error&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    inputFlush();&lt;br /&gt;
    return (char) aChar;&lt;br /&gt;
  }&lt;br /&gt;
  public static double inDouble(String prompt) {&lt;br /&gt;
    while (true) {&lt;br /&gt;
      inputFlush();&lt;br /&gt;
      printPrompt(prompt);&lt;br /&gt;
      try {&lt;br /&gt;
        return Double.valueOf(inString().trim()).doubleValue();&lt;br /&gt;
      }&lt;br /&gt;
      catch (NumberFormatException e) {&lt;br /&gt;
        System.out&lt;br /&gt;
            .println(&amp;quot;Invalid input. Not a floating point number&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Divide one BigInteger from another BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.divide(bi2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do math operation for BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    BigInteger numberA = new BigInteger(&amp;quot;98765432123456789&amp;quot;);&lt;br /&gt;
    BigInteger numberB = BigInteger.TEN;&lt;br /&gt;
    numberA = numberA.add(numberB);&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
    numberA = numberA.multiply(numberB);&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
    numberA = numberA.subtract(numberB);&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
    numberA = numberA.divide(numberB);&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
    numberA = numberA.mod(numberB);&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
    numberA = numberA.pow(2);&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
    numberA = numberA.negate();&lt;br /&gt;
    System.out.println(&amp;quot;numberA = &amp;quot; + numberA);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flip a bit in a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.flipBit(3);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get byte array from BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;100100100111111110000&amp;quot;, 2);&lt;br /&gt;
    byte[] bytes = bi.toByteArray();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get the value of a bit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    boolean b = bi.testBit(3); &lt;br /&gt;
    b = bi.testBit(16); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multiply one BigInteger to another BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.multiply(bi2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negate a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    bi1 = bi1.negate();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== not operation for BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.not();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operate with big integer values in code ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Create via a string&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    // Create via a long&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.add(bi2);&lt;br /&gt;
    bi1 = bi1.multiply(bi2);&lt;br /&gt;
    bi1 = bi1.subtract(bi2);&lt;br /&gt;
    bi1 = bi1.divide(bi2);&lt;br /&gt;
    bi1 = bi1.negate();&lt;br /&gt;
    int exponent = 2;&lt;br /&gt;
    bi1 = bi1.pow(exponent);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating with Big Integer Values ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Create via a string&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    // Create via a long&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.add(bi2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== or operation for BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.or(bi);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parse binary string ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;100101000111111110000&amp;quot;, 2);&lt;br /&gt;
    byte[] bytes = bi.toByteArray();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parse decimal string to create BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;1183728&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parse hexadecimal string to create BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;120ff0&amp;quot;, 16);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parse octal string to create BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;4407760&amp;quot;, 8);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Big Integer into Binary ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;1023&amp;quot;);&lt;br /&gt;
    // Parse and format to binary&lt;br /&gt;
    bi = new BigInteger(&amp;quot;1111111111&amp;quot;, 2); &lt;br /&gt;
    String s = bi.toString(2); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Big Integer into decimal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;1023&amp;quot;); &lt;br /&gt;
    String s = bi.toString(); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Big Integer into octal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi = new BigInteger(&amp;quot;1000&amp;quot;, 8);&lt;br /&gt;
    s = bi.toString(8);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Byte Array into Binary ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { (byte) 0x12, (byte) 0x0F, (byte) 0xF0 };&lt;br /&gt;
    // Create a BigInteger using the byte array&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    String s = bi.toString(2); &lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Byte Array into decimal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { (byte) 0x12, (byte) 0x0F, (byte) 0xF0 };&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    // Format to decimal&lt;br /&gt;
    String s = bi.toString(); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Byte Array into Hexadecimal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { (byte) 0x12, (byte) 0x0F, (byte) 0xF0 };&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    // Format to hexadecimal&lt;br /&gt;
    String s = bi.toString(16); &lt;br /&gt;
    if (s.length() % 2 != 0) {&lt;br /&gt;
      s = &amp;quot;0&amp;quot; + s;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parsing and Formatting a Byte Array into Octal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { (byte) 0x12, (byte) 0x0F, (byte) 0xF0 };&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    // Format to octal&lt;br /&gt;
    String s = bi.toString(8); &lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performing Bitwise Operations with BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    boolean b = bi.testBit(3); &lt;br /&gt;
    b = bi.testBit(16); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retrieve the current bits in a byte array in twos-complement form. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[]  bytes = new byte[] { 0x1, 0x00, 0x00 };&lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bytes = bi.toByteArray();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Set a bit for BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.setBit(3);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shift right in a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.shiftRight(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shift the bits in a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.shiftLeft(3);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtract one BigInteger from another BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BigInteger bi1 = new BigInteger(&amp;quot;1234567890123456890&amp;quot;);&lt;br /&gt;
    BigInteger bi2 = BigInteger.valueOf(123L);&lt;br /&gt;
    bi1 = bi1.subtract(bi2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== xor a BigInteger ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[] { 0x1, 0x00, 0x00 }; &lt;br /&gt;
    BigInteger bi = new BigInteger(bytes);&lt;br /&gt;
    bi = bi.xor(bi);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>