рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рд╣рдо рдЕрдХреНрд╕рд░ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд рдирдВрдмрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрджрддрди 1, -1.5, рдкреА рдпрд╛ рдЬрдЯрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди NaN, + Inf, -Inf рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдХрдо рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдиреЛрдЯ:
рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 3.6.8 рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдПред
рдЧрдгрд┐рдд рдореЗрдВ рдХрд╛рдлреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ 0 рд╕реЗ рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИред
рд╕рд╛рдВрддреНрд╡рдирд╛ рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ
1/0
рдЖрдкрдХреЛ рдПрдХ ZeroDivisionError рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред рдЙрдореНрдореАрдж рд╣реИ, рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ? рд╣рд╛рдВред рдЖрдЗрдП рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
0**0
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, 0 рд╕реЗ 0 рдХреА рд╢рдХреНрддрд┐ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЧрдгрд┐рддреАрдп рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╛рдпрдерди рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдкреНрд░рд╢реНрди рд╣реИ:

рд╣рдореЗрдВ 0 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд "рдкреИрд░ рдореЗрдВ рд╢реВрдЯ" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕ рддрд░рд╣ рдХреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ?
рд╢рд╛рдпрдж рдХрд┐рд╕реА рдиреЗ рдЕрднреА рдирд┐рд░рдВрдХреБрд╢ рд╣реИ рдФрд░ рдЪрд┐рд▓реНрд▓рд╛рдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ: IEEE 754ред рдФрд░ рдЕрдЧрд░ рдореБрдЭрд╕реЗ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЙрд╕рдХреА рдорджрдж рд╕реЗ рдерд╛ рдХрд┐ рд╣рдо рд╕рд╣рдордд рдереЗ рдХрд┐ рдбрд┐рдЧреНрд░реА 0 рдореЗрдВ рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ 1 рд╣реИред
рдпрд╣реАрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдорд╕реНрддреАред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ IEEE (0.1 + 0.2! = 0.3) рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ 1/0 рдЕрдирдВрдд рд╣реИ, 0 рддреНрд░реБрдЯрд┐ рд╕реЗ рдХреЛрдИ рд╡рд┐рднрд╛рдЬрди рдирд╣реАрдВ рд╣реИред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ (рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЙрджрд╛рд╣рд░рдг):
1. рдЧрд▓рдд рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐рдпрд╛рдБ
рдЙрджрд╛рд╣рд░рдг:
1/0
2. рдЧрд▓рдд рдорд╛рди рд▓реМрдЯрд╛рдПрдВ
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
0**0
3. рд╡рд┐рд╢реЗрд╖ рдорд╛рди рд▓реМрдЯрд╛рдПрдБ:
+ -рдЗрдВрдл, рдиреИрди
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
inf=float('inf') inf-inf
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реИред
рдЖрдЬ рд╣реА, рдореИрдВрдиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк PHP рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрдЦрд╛:
var_dump(mt_rand(INF,INF));
рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 2 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВ рдФрд░ рд╢рд╛рдпрдж 1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВред
рдХреНрдпреЛрдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ PHP рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде inf рдФрд░ nan рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ?