Questions and Answers in Java

Source: Internet
Author: User

1. Does the numerical operation for wonder why double type get "mathematically accurate" results?

Answer: This involves the conversion of binary and decimal.

       n binary can be understood as: the power of the numerical x cardinality, for example, we are familiar with the decimal number 123.4=1x10²+2x10+3x (10 of the 0 power) +4x (10-1 power); the other binary is the same, such as the binary number 11.01=1x2+1x (2 0 Power) +0+1x ( 2-2 power) = 3.25 in decimal.
A value of type double takes 64bit, or 64 binary numbers, except that the highest bit represents the positive and negative sign, and the lowest bit is bound to have an error with the actual data (unless the actual data is exactly 2 of the n-th square).

For example, for example, to use 4bit to represent decimal 3.26, from high to low to correspond to 2 1,0,-1,-2 power, according to the top of the analysis, should be in the binary number 11.01 (corresponding to the decimal 3.25) and 11.10 (corresponding to the decimal 3.5) between the selection.
In short, we give the value, in most cases need more than 64bit more digits to accurately represent (even need infinity), and the double type of the value of only 64bit, the back of the number of bits will definitely bring error, can not get "mathematically accurate" results.
2. Questions about the number of bits and ranges represented by each data type in JavaA : The conversion of data types in Java, from high-precision like low-precision conversion will have a loss of precision, but from the low-precision to high-precision conversion to have a racing loss.  3. Explanation of anti-code, complement, and original code concept and example program

The original code: Positive sign bit is 0, negative sign bit is 1, other bits according to the general method to represent the absolute value of the number. The original code of the number is obtained by means of such representation.

Anti-code: For a signed number, the inverse code of positive numbers is the same as its original code, the inverse of the negative code for its original code in addition to the symbol bit, you can reverse the position

complement Code: the complement of a positive number is the same as its original code, and the complement of negative number is its inverse code at the lowest bit plus 1

Example program: (multiplication correct but not correct)

(1) 10-(1) 10 = (1) 10 + (-1) 10 = (0) 10

(00000001) original + (10000001) original = (10000010) original = (-2) apparently incorrect

Questions and Answers in Java

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.