this looks pretty goodwe know that quick check also confirms that unfortunatelyit turns out that it appears that the java program has given us an incorrect answerwhat is going on hereso fari have talked about numeric data types as representations of familiar numbers such as integers and decimals (fractionsit is important to keep in mindhoweverthat computer representations of numbers (the actual data typesdo not always behave exactly like the numbers that they stand for remember back in you learned that the computer' cpu can perform very basic operations such as adding or multiplying two numbersit would be more precise to say that the cpu can perform basic operations on the computer' internal representation of numbers the problem in this java program is that it is representing whole numbers using the computer' underlying int data type and relying on the computer' addition operation for ints unfortunatelythese machine ints are not exactly like mathematical integers there are infinitely many integersbut only finite range of ints inside the computerints are stored in fixed-sized binary representation to make sense of all thiswe need to look at what' going on at the hardware level computer memory is composed of electrical "switches,each of which can be in one of two possible statesbasically on or off each switch represents binary digit or bit of information one bit can encode two possibilitiesusually represented with the numerals (for offand (for ona sequence of bits can be used to represent more possibilities with two bitswe can represent four things bit bit three bits allow us to represent eight different values by adding zero or one to each of the four two-bit patterns bit bit bit you can see the pattern here each extra bit doubles the number of distinct patterns in generaln bits can represent different values the number of bits that particular computer uses to represent an int depends on the design of the cpu typical pcs today use or bits for bit cputhat means there are possible