go to previous page   go to home page   go to next page highlighting

Answer:

1/2 is 0

Small integers can be represented, and integer division produces a BigInteger result of 0.


Works like int

BigInteger objects have the same operations as ordinary ints. It is as if you had ints represented with as many bits as needed.

For the most part, any arithmetic you can do with ints you can do with BigIntegers and the operation will work the same way. Plus, BigIntegers allow some additional operations.


Notes:

1. BigInteger is a class (not a primitive type). BigIntegers are objects.

2. import java.math.BigInteger to use the class.

3. The BigInteger objects are immutable. The value of a BigInteger object does not change, although a particular BigInteger reference variable can point to different objects at different times.

4. Arithmetic operations (and other operations) are implemented as methods of the class.

5. The usual operators (+, -, *, /) will not work. Use methods add, subtract, multiply, divide.



6. The result of using add, subtract, multiply, divide methods is another BigInteger.

7. The constructor takes a String of decimal digits representing an integer of any size. The String is converted into the internal representation used by BigInteger.

8. The toString() method of BigInteger is automatically invoked when a String is needed (as in the last statement above.)

9. BigInteger documentation at Oracle: BigInteger


QUESTION 5:

What do you imagine is the output of the following?

    BigInteger a = new BigInteger( "70000000000" );
    BigInteger b = new BigInteger( "20000000000" );

    System.out.println( a.divide( b ) );

In the last statement, a.divide( b ) produces an new BigInteger.

The println automatically calls the toString of that object to create a String which is then printed. Neither a nor b changes.


go to previous page   go to home page   go to next page