рдЬрд╛рд╡рд╛ рдореЗрдВ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж



рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдПрдХ рдордиреЛрд░рдВрдЬрдХ рд╕рд╡рд╛рд▓ рдЖрдпрд╛ рдЬреИрд╕реЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛:

double a = 2.0 - 1.1;
      
      





рдпрд╛ рдРрд╕реЗ:

 double f = 0.0; for (int i=1; i <= 10; i++) { f += 0.1; }
      
      





рдореЗрд░реА рд╕рднреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрддреНрддрд░ рдореЗрдВ 0.89999999999999991 рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ 0.9999999999999989 рд╣реИред

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпреЛрдВ, рд╕рд╛рде рд╣реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп, рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВред







рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдПрдЧрд╛: тАЬрдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдмрд╛рдЗрдирд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИрдВред рдЬрд┐рд╕ рддрд░рд╣ рджрд╢рдорд▓рд╡ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╡рд┐рднрд╛рдЬрди 1/3 рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд╕рд╣реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЙрд╕реА рддрд░рд╣ рдмрд╛рдЗрдирд░реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ 1/10 рдХрд╛ рд╕рд╣реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ BigDecimal рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред "



рдЕрдореВрд░реНрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ, рдЬреИрд╕реЗ 0.2 рдпрд╛ 0.2 рдФрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рдбрдмрд▓ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкреНрд▓реЗрдЯреЛрдирд┐рдХ рдЖрджрд░реНрд╢ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЕрдирдВрдд рд╣реИ, рдЬрдмрдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╕реАрдорд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдЯреАрдХрддрд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдФрд░ рднреА рдЕрдзрд┐рдХ "рдкреЗрдЪреАрджрд╛" рдЧреЛрд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореВрд▓ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░рдо рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред



рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдЖрдПрдЧрд╛ред So. рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рддрдерд╛рдХрдерд┐рдд "рдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛрдб" рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЪрд┐рд╣реНрди (0 - рд╕рдХрд╛рд░рд╛рддреНрдордХ, 1 - рдирдХрд╛рд░рд╛рддреНрдордХ) рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореВрд▓реНрдп рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрда-рдмрд┐рдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ "-9" рд╕рдВрдЦреНрдпрд╛ 10001001 рдХреА рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдиреБрдХрд╕рд╛рди рджреЛ рд╢реВрдиреНрдп ("+0" рдФрд░ "-0") рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЬреЛ рд╣рдореЗрдВ рд░реБрдЪрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ "рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдХреЛрдб", рдЬрд┐рд╕рдореЗрдВ, рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░рдВрддрд░рддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, 2 ^ (n-1) рдХреЗ рдмрд░рд╛рдмрд░, рдЬрд╣рд╛рдВ n рдмрд┐рдЯреНрд╕ (рдмрд┐рдЯреНрд╕) рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрда-рдмрд┐рдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ "-9" рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

-9 + 2 ^ (8-1) = -9 + 128 = 119. рдмрд╛рдЗрдирд░реА рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ 01110111 рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╢реВрдиреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдСрдлрд╕реЗрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред



рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдХреЗ рдШреЛрд╖рд┐рдд рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдорд╢реАрди рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИред рдЧрдгрдирд╛ рдХреЛ рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЖрднрд╛рд╕реА рдорд╢реАрди рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИред рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдкрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдерд╛ред рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрдмрд▓ рдкреНрд░рдХрд╛рд░ 64 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкреНрд░реЛрд╕реЗрд╕рд░ 80-рдмрд┐рдЯ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдЧрдгрдирд╛ рдХреЗ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдгреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдЯреАрдХрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдордзреНрдпрд╡рд░реНрддреА рдЧрдгрдирд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ 80-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 64 рдмрд┐рдЯреНрд╕ рддрдХ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкрд░рд┐рдгрд╛рдо рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╕рднреА рдЧрдгрдирд╛рдУрдВ рдореЗрдВ 64-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдЬреЗрд╡реАрдПрдо рдХреЗ рдореВрд▓ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдордзреНрдпрд╡рд░реНрддреА рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЧреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдиреЗ рдХрдИ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд╡рд┐рд░реЛрдз рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЧреЛрд▓рд╛рдИ рди рдХреЗрд╡рд▓ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЧрдгрдирд╛ рд╕реНрд╡рдпрдВ рдзреАрдореА рд╣реЛрддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ JDK 1.2 рдиреЗ рд╕рдЦреНрдд рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреЗрд╢ рдХрд┐рдпрд╛, рдЬреЛ рдЗрд╕ рдкрджреНрдзрддрд┐, рд╡рд░реНрдЧ рдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдпрд╛ рдмрд▓реНрдХрд┐, рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди) рдХреЗ рдЕрдВрджрд░ рдХреА рдЧрдИ рд╕рднреА рдЧрдгрдирд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рдЦреНрдд рдХреАрд╡рд░реНрдб рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░, рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдЧрдгрдирд╛ рдПрдХ рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧреА рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде, рднрд▓реЗ рд╣реА рдХреБрдЫ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрдзрд┐рдХ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХрд░ рд╕рдХреЗрдВред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ x86 рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд▓рд┐рдП, рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЪрд┐рдк рдореЗрдВ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдЧрдгрд┐рддреАрдп рдмрд┐рдВрджреБ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдпреВрдирд┐рдЯ (рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдпреВрдирд┐рдЯ (FPU)) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреЗрдВрдЯрд┐рдпрдо рдПрдордПрдордПрдХреНрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА ред



рдЕрдЧрд▓рд╛ред IEEE 754 рдорд╛рдирдХ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рддреЗрдЬреА рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрд┐рдЯреНрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рддрдерд╛рдХрдерд┐рдд рдордВрдЯрд┐рд╕рд╛ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдСрд░реНрдбрд░ (рдбрд┐рдЧреНрд░реА) рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдФрд░ рдирдВрдмрд░ рдХрд╛ рд╕рдВрдХреЗрдд рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдмрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (0 - рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, 1 - рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИ)ред рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ, рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ:

(-1) ^ s ├Ч M ├Ч 2 ^ E , рдЬрд╣рд╛рдБ s рдЪрд┐рдиреНрд╣ рд╣реИ, M mantissa рд╣реИ, рдФрд░ E рдкреНрд░рддрд┐рдкрд╛рджрдХ рд╣реИред рдкреНрд░рджрд░реНрд╢рдХ рдХреЛ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдордВрдЯрд┐рд╕рд╛ рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрдХ рдХреНрдпрд╛ рд╣реИ? рдордВрдЯрд┐рд╕рд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИ рдЬреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдордВрдЯрд┐рд╕рд╛ рдореЗрдВ рдЪрд╛рд░ рдмрд┐рдЯреНрд╕ (| M | = 4) рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛ "9", рдЬреЛ рдмрд╛рдЗрдирд░реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ 1001 рд╣реЛрдЧреАред

рдкреНрд░рддрд┐рдкрд╛рджрдХ (рдЗрд╕реЗ "рдЖрджреЗрд╢" рдпрд╛ "рдкреНрд░рддрд┐рдкрд╛рджрдХ" рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдЙрдЪреНрдЪрддрдо рд░реИрдВрдХ рдХреЗ рдЖрдзрд╛рд░ (рджреЛ) рдХреА рдбрд┐рдЧреНрд░реА рд╣реИред рд╕рдВрдЦреНрдпрд╛ рдХреЗ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рдЗрд╕реЗ рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдШрд╛рддрд╛рдВрдХ рдПрдХ рдЪрд░ рд╣реИ рдЬрд┐рд╕реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдВрдХрд▓рди рдореЗрдВ рдЕрдЬреНрдЮрд╛рдд рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ "рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рддрд┐рдкрд╛рджрдХ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ "рдирд┐рд╢реНрдЪрд┐рдд-рдмрд┐рдВрджреБ рд╕рдВрдЦреНрдпрд╛" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рдХреНрд╕реНрдб-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рдХреЗрд╡рд▓ рдордВрдЯрд┐рд╕рд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдХреЗ рд╕рд╛рдзрд╛рд░рдг рдкреВрд░реНрдгрд╛рдВрдХ рдЪрд░ (рд░рдЬрд┐рд╕реНрдЯрд░) рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдордВрдЯрд┐рд╕ рдФрд░ рдПрдХреНрд╕рдкреЛрдиреЗрдВрдЯ рджреЛрдиреЛрдВ рддрдерд╛рдХрдерд┐рдд рдорд╛рдирдХ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "1.001e + 3"ред рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдордВрдЯрд┐рд╕рд╛ рдореЗрдВ рдЪрд╛рд░ рд▓рдХреНрд╖рдг рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрдХ рддреАрди рд╣реЛрддреЗ рд╣реИрдВред



рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдордВрдЯрд┐рд╕рд╛ рдХреЗ 3 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдо рд▓реЗрддреЗ рд╣реИрдВ, рдХрд╣рддреЗ рд╣реИрдВ, рдИ = 1ред рддрдм рд╣рдорд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА



1.001 + 1 = 1 ├Ч 2 ^ 2 + 0 ├Ч 2 ^ 1 + 0 ├Ч 2 ^ 0 + 1 ├Ч 2 ^ (- 1) = 4 + 0.5 = 4.5







рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдХ рд╣реА рдордВрдЯрд┐рд╕рд╛ рд▓рдВрдмрд╛рдИ рдХреЗ рднреАрддрд░ рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ "9-рдХреВ", рдордВрдЯрд┐рд╕рд╛ рдХреА рд▓рдВрдмрд╛рдИ 5 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдЗрд╕реЗ 1.00100e + 3 рдФрд░ 0.10010e + 4 рдФрд░ 0.01001e + 5 рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп рдФрд░ рдЙрди рдкрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреА рдмрд╣реБрд▓рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХрд┐рдлрд╛рдпрддреА рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рдорд┐рдд рд╣реИ, рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЙрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рджреЗрддреА рд╣реИ рдЬрд┐рдирдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдереЛрдбрд╝рд╛ рдЯреНрд░рд┐рдХ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдмрд┐рдЯ рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдШрд╛рддрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдкреНрд░рддрд┐рдкрд╛рджрдХ рдХреЗ рд╕рднреА рдмрд┐рдЯреНрд╕ 0 рд╣реИрдВ, рддреЛ рдордВрдЯрд┐рд╕рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд┐рдЯ рднреА рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рдЬрд┐рд╕рдореЗрдВ рдордВрдЯрд┐рд╕рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд┐рдЯ рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИред рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдПрдВ, рдордВрдЯрд┐рд╕рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд┐рдЯ рдЬрд┐рд╕рдореЗрдВ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдХреЛ рдЕрдкрднреНрд░рдВрд╢ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХреА рдорджрдж рд╕реЗ, рдмрд╣реБрдд рдХрдо рдорд╛рддреНрд░рд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдкрд╣рд▓реЗ рдмрд┐рдЯ рдХреЛ рд╣рдореЗрд╢рд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдмрд┐рдЯ рдмрдЪрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЗрдХрд╛рдИ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдЕрдиреВрдард╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред "9" рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ 1.00100 + 3 рд╣реЛрдЧрд╛, рдФрд░ рдордВрдЯрд┐рд╕рд╛ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ "00100" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд░рд┐рд╖реНрда рдЗрдХрд╛рдИ рдХреЛ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╢реВрдиреНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдпрд╣рд╛рдБ рдФрд░ рдпрд╣рд╛рдБ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред



рд╡реИрд╕реЗ, рдЬреЗрдбреАрдХреЗ 1.5 рдореЗрдВ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 0.125 рдХреЛ 0x1.0p-3 рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рди рдореЗрдВ, рд╡рд░реНрдгрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдИ" рдХреЗ рдмрдЬрд╛рдп "рдкреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдбрдмрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рдмрд╛рддреЗрдВ:



  1. рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ 0 рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрдирдиреНрддрддрд╛ (рдпрд╛ 0.0 / 0 рдХреЗ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ NaN) рд╣реЛрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдХрд┐ рд╕рдорд╛рди рдЖрдИрдИрдИрдИ 754 рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЗрд╡реАрдПрдо рдбреЗрд╡рд▓рдкрд░реНрд╕, рдиреЗ рдХреНрд░рдорд╢рдГ рдХреНрд░рдорд╢: -1.0 рдпрд╛ 0.0 рдФрд░ 1.0 / 0.0 рдХреЗ рдмрд░рд╛рдмрд░ рдбрдмрд▓.NEGATIVE_INFINITY рдФрд░ Double.POSITIVE_INFINITY рдореВрд▓реНрдпреЛрдВ рдХреЛ рднреА рдкреЗрд╢ рдХрд┐рдпрд╛ред
  2. Double.MIN_VALUE рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдбрдмрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ, рд╣рдордиреЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА рдХрд┐ IEEE 754 рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдордВрдЯрд┐рд╕рд╛ рдХреА рдЙрдЪреНрдЪрддрдо рдЗрдХрд╛рдИ рдЕрдиреБрдорд╛рдирд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ? рддреЛ рдпрд╣рд╛рдБ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд░реВрдк рдореЗрдВ рд╢реВрдиреНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЛ рдХреА рдРрд╕реА рдХреЛрдИ рд╢рдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ JVM рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╡реИрд░рд┐рдПрдмрд▓ Double.MIN_VALUE рдХреЛ рдкреЗрд╢ рдХрд┐рдпрд╛, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╢реВрдиреНрдп рдХрд╛ рдирд┐рдХрдЯрддрдо рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рди рд╣реИред рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдорд╛рди рдЬрд┐рд╕реЗ рдЖрдк рдбрдмрд▓ рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ "-Double.MAX_VALUE"ред

     System.out.println(0.0 > Double.MIN_VALUE); //  false
          
          



  3. рдкрд┐рдЫрд▓реЗ рд╡рд┐рд╖рдп рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред Double.MAX_VALUE 1.7976931348623157E308 рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рд╕реЗ рдбрдмрд▓ рдореЗрдВ рдмрджрд▓ рджреЗрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?



     System.out.println(Double.parseDouble("1.7976931348623157E308")); // (...7E308) = 1.7976931348623157E308 max value System.out.println(Double.parseDouble("1.7976931348623158E308")); // (...8E308) = 1.7976931348623157E308 same??? System.out.println(Double.parseDouble("1.7976931348623159E308")); // (...9E308) = Infinity
          
          







    рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ Double.MAX_VALUE рдФрд░ Double.POSITIVE_INFINITY рдХреЗ рдмреАрдЪ рдХреБрдЫ рдФрд░ рдорд╛рди рд╣реИрдВ, рдЬрд┐рдирдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рддрд░рдл рдпрд╛ рджреВрд╕рд░реЗ рдкрд░ рдЧреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред



    рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЕрд╕реАрдо рд░реВрдк рд╕реЗ рдШрдирд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рджреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЧреБрдг рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдлреНрд▓реЛрдЯ рдпрд╛ рдбрдмрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╕рдВрдЦреНрдпрд╛ рдореМрдЬреВрдж рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрд╛рдЗрдк рдлрд╝реНрд▓реЛрдЯ рдпрд╛ рдбрдмрд▓ рдХреА рд▓рдЧрд╛рддрд╛рд░ рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдиреНрдпреВрдирддрдо рдкрд░рд┐рдорд┐рдд рджреВрд░реА рд╣реЛрддреА рд╣реИред Math.nextUp () рд╡рд┐рдзрд┐ рдЕрдЧрд▓рд╛ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдб 1.0 рдФрд░ 2.0 рдХреЗ рдмреАрдЪ рд╕рднреА рдлреНрд▓реЛрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред



     float x = 1.0F; int numFloats = 0; while (x <= 2.0) { numFloats++; System.out.println(x); x = Math.nextUp(x); } System.out.println(numFloats);
          
          







    рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ 1.0 рд╕реЗ 2.0 рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢реА рдмрд┐рд▓реНрдХреБрд▓ 8,388,609 рдлреНрд▓реЛрдЯ-рдкреНрд░рдХрд╛рд░ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд░реЗрдВрдЬ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реИред рдирд┐рд░рдВрддрд░ рдлреНрд▓реЛрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реА рд▓рдЧрднрдЧ 0.0000001 рдЕрд▓рдЧ рд╣реИред рдЗрд╕ рджреВрд░реА рдХреЛ рдХрдо рд╕реЗ рдХрдо рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ (ULP) рдХреА рдЗрдХрд╛рдИ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛрд╣рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рди рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐ рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рдж рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред




рд╢рд╛рдпрдж рдпрд╣реА рд╕рдм рд╣реИред "рдереЛрдбрд╝реА рдЧрд╣рд░реА рдЦреБрджрд╛рдИ" рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



 //           IEEE 754 long lbits = Double.doubleToLongBits(-0.06); long lsign = lbits >>> 63; //  long lexp = (lbits >>> 52 & ((1 << 11) - 1)) - ((1 << 10) - 1); //  long lmantissa = lbits & ((1L << 52) - 1); //  System.out.println(lsign + " " + lexp + " " + lmantissa); System.out.println(Double.longBitsToDouble((lsign << 63) | (lexp + ((1 << 10) - 1)) << 52 | lmantissa));
      
      







рд╕рднреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреАред рдореБрдЭреЗ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рдХреА рдЦреБрд╢реА рд╣реЛрдЧреАред



рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА:

рдирдИ рдЬрд╛рд╡рд╛ рдЧрдгрд┐рддреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ, рднрд╛рдЧ 2: рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░

IEEE рд╕реНрдЯреИрдВрдбрд░реНрдб 754 рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░

рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдФрд░ рдЖрднрд╛рд╕реА рдорд╢реАрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡

рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдкрд░ рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди



All Articles