106.785 is not representable in IEEE-754 64-bit binary floating-point. The nearest representable value is 106.784999999999996589394868351519107818603515625. Using hexadecimal for the significand, this is 1.ab23d70a3d70a16•26. That significand is shown with 53 bits (one before the “.” and 52 after), which are all that are available in the 64-bit format. If one were added to the last bit, the value would be 106.7850000000000108002495835535228252410888671875, which is farther from 106.785.
So, when Java processes 106.785
in your source text, it converts it to the nearest value, 106.784999999999996589394868351519107818603515625.
When this value is multiplied by 217, the result is approximately 23172.34499999999752617.
Every finite IEEE-754 64-bit binary floating-point value has the form M•2e for some integers M and e such that –253 < M < 253 and –1074 ≤ e ≤ 971.
In order to represent a value near 106.785, M is set to 7514326347011850, and e is set to –46. This produces 7514326347011850 •2-46 = 106.784999999999996589394868351519107818603515625. If you add one to M, the value becomes 106.7850000000000108002495835535228252410888671875.
This M is as large as we can make it to represent something near 106.785, because there are only 53 bits for it in the 64-bit format (52 are explicitly stored in the format, and a 53rd is implied by the exponent). So M must be in this range, and it must be an integer. Therefore, we cannot add any smaller increment to M; we are stuck with the choice of either 106.784999999999996589394868351519107818603515625 or 106.7850000000000108002495835535228252410888671875.
Note: In many documents, you will see the form as a separate sign, a significand normally in [1, 2) (but sometimes in [0, 1)), and an exponent. In this form, the significand has 53 bits: an integer bit before a “.”, then a “.”, then 52 fraction bits. The forms are mathematically equivalent, but the integer form is more useful for certain proofs and it is easier to explain that M can change only in units of one in the integer form. In the fraction form, you must understand that the fraction can change only by units of 2–52.