рдордиреЛрд░рдВрдЬрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ: рд▓рдЧрднрдЧ рдПрдХ рд░реЗрдЦреАрдп рд╕рдореАрдХрд░рдг

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЕрджреНрднреБрдд рдЧрдгрд┐рдд (рдЕрд░реНрдерд╛рддреН рд░реЗрдЦреАрдп рд╕рдореАрдХрд░рдг) рдФрд░ рд╣рдорд╛рд░реЗ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЕрджреНрднреБрдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рд╕реБрдкрд░рдЗрдореНрдкреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ? Js- рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕реАрдорд╛рдУрдВ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧрдгрд┐рддреАрдп рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рд╣реА рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдФрд░ js- рдкрддреНрдерд░реЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рд╕реЗ рднрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рдореЙрд╕реНрдХреЛ рдореЗрдВ рдЖрдЦрд┐рд░реА рд╣реЛрд▓реАрдЬрд╕ 19 рд╕рдореНрдореЗрд▓рди рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд░реИрдЦрд┐рдХ рд╕рдореАрдХрд░рдг ( SEMrush рд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ) рдиреЗ рдХрд╛рдлреА рд╣рд▓рдЪрд▓ рдордЪрд╛рдИ ред



рдФрд░ рд╣рд╛рдБ, рдпрд╣ рдлрд┐рд░ рд╕реЗ рдордиреЛрд░рдВрдЬрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣реИ: рдореИрдВ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред


рдмреЗрд╢рдХ, рд╕рдм рдХреБрдЫ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ - рдпрд╣ рд╕рд┐рд░реНрдлрд╝ рджреЛ рдЕрджреНрднреБрдд рдЪреАрдЬрд╝реЛрдВ рдХреЛ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рджреЗрдиреЗ рдХрд╛ рдПрдХ рддреБрдЪреНрдЫ рдкреНрд░рдпрд╛рд╕ рд╣реИ рддрд╛рдХрд┐ рдордЬрд╝рд╛ рдЖ рд╕рдХреЗ - рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реЛрддреА рдЕрдЧрд░ рдпрд╣ рд╕рдореНрдореЗрд▓рди рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рдУрд░ рд╕реЗ рдЧрд╣рд░реА рджрд┐рд▓рдЪрд╕реНрдкреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реЛрддреА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж!

рд╕реВрддреНрд░реАрдХрд░рдг


1. рд╕рдореАрдХрд░рдг рдХреЗ рд╕рднреА рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬреЗрдВ:

9 +~ x >> 6 / 3 = -x / 3 

2. рд╕рдореАрдХрд░рдг рдХреЗ рд╕рднреА рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬреЗрдВ:

 9 +~ x >> 6 / 3 = -x / 3 | 0 

рджреВрд╕рд░рд╛ рд╕рдореАрдХрд░рдг рджрд╛рдИрдВ рдУрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдкрд░реЗрд╢рди рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИред

рдЧрдгрд┐рддреАрдп рд╕рдиреНрдирд┐рдХрдЯрди


рд╣рдо рдкрд╣рд▓реЗ рд╕рдореАрдХрд░рдг рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рд╕рдордЭреЗрдВрдЧреЗ:

 (9 +(~ x)) >> (6 / 3) = -x / 3 

рд╣рдо x рд╕реЗ рдмрд┐рдЯ рд╡рд╛рдЗрдЬ рдирд┐рдЧреЗрдЯрд┐рд╡ рд▓реЗрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕реЗ 9 рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЬреЛрдбрд╝ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдХреЛ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ 6 рд╕реЗ 3 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИред

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

рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдСрдкрд░реЗрд╢рдВрд╕ 32-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдСрдкрд░реЗрдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдХреЛ рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рдирдХрд╛рд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 (9 -(x + 1)) >> (6 / 3) = -x / 3 (8 - x) >> 2 = -x / 3 

рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рд╢рд┐рдлреНрдЯ (рд╕рдВрдХреЗрдд рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп) рдкреВрд░реНрдгрд╛рдВрдХ рдбрд┐рд╡реАрдЬрди рджреНрд╡рд╛рд░рд╛ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдСрдкрд░реЗрдВрдб рдХреЗ рдмрд░рд╛рдмрд░ рджреЛ рдбрд┐рдЧреНрд░реА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 (8 - x) / 2^2 = -x / 3 (8 - x) / 4 = -x / 3 

рдмреЗрд╢рдХ, рдпреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрд╣реБрдд рдордирдорд╛рдиреА рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рд░реИрдЦрд┐рдХ рд╕рдореАрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдХреА рдПрдХрдорд╛рддреНрд░ рдЬрдбрд╝ -24 рд╣реИред рдореВрд▓ рд╕рдореАрдХрд░рдг рдХреЗ рдмрд╛рдПрдБ рдФрд░ рджрд╛рдПрдБ рдкрдХреНрд╖ рдореЗрдВ рдорд╛рди рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

 9 +~ (-24) >> 6 / 3; // = 8 -(-24) / 3; // = 8 

рджреЛрдиреЛрдВ рднрд╛рдЧ рд╕рдорд╛рди рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдФрд░ -24 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред

рдЖрд▓рд╕реА рдХреЛ рдЦреЛрдЬреЛ


рдпрджрд┐ рд╣рдо f1 (x) = (8 -x) / 4 рдФрд░ f2 (x) = -x / 3 рдХреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдореЗрдВ x = -24 рдкрд░ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЪреМрд░рд╛рд╣рд╛ рдмрд┐рдВрджреБ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИред



рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдмрд╛рдПрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрд╕рдорд╛рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд┐рдП, рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдПрдл 1 рдХрд╛ рдЧреНрд░рд╛рдл рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рднреА x рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдорд╛рди -1 рд╕реЗ 1. рд░реЗрдВрдЬ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рд▓рд╛рдЗрди f1 рдкрд░ рдореВрд▓реНрдп рд╕реЗ рдЕрд▓рдЧ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реЛрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ -24 рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдПрдл 1 рдФрд░ рдПрдл 2 рдХреЗ рдорд╛рди рд╣реИрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк 1) рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЕрд╕рдорд╛рдирддрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ 2) рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдкрд╛рдПрдВрдЧреЗ рдХрд┐ x рдЦрдВрдб [-36, -12] рдХреЛ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИ:

 | (8 - x) / 4 + x / 3 | <= 1 



рдХреБрдЫ рдмрдВрдж рд░реЗрдВрдЬ рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [рднреАрдЦ рдорд╛рдВрдЧреЗрдВ ], рд╣рдо рдЦреЛрдЬ рдХрд╛рд░реНрдп рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 const findx = (f, beg, end) => [...Array(end - beg + 1)].map((_, i) => i + beg).filter(f); 

рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди f рдХрд╛ рдорд╛рди рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ред рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдореАрдХрд░рдг рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЬреЗрдПрд╕-рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдореАрдХрд░рдг рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ:

 let eq1 = x => 9 +~ x >> 6 / 3 == -x / 3; findx(eq1, -36, -12); // [-24, -21, -18, -15] 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, x = [-24, -21, -18, -15] рдкрд╣рд▓реЗ рд╕рдореАрдХрд░рдг рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИрдВред

рдЪрд┐рддреНрд░рдордп рд╕рдорд╛рдзрд╛рди


рдЧрдгрдирд╛ рдПрдХ рд╕рдлрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЕрднреА рднреА рдлрд╝рдВрдХреНрд╢рди f1 рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдЕрдВрдд рддрдХ рд╕рдордЭреЗрдВ рдФрд░ рд╕рдореАрдХрд░рдг рдХреЛ рд░реЗрдЦрд╛рдВрдХрди рд╕реЗ рд╣рд▓ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдорд╛рдзрд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рдХреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ NOT рдСрдкрд░реЗрдЯрд░ рдХреЗрд╡рд▓ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкрд░рд┐рдгрд╛рдо - (x + 1) рдЧреЛрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдСрдкрд░реЗрдЯрд░ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд▓рд╛рднрд╛рдВрд╢ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдСрдкрд░реЗрд╢рди рдкрд░рд┐рдгрд╛рдо рдХреЛ рдиреАрдЪреЗ рдпрд╛ рдКрдкрд░ рдХрд░рддрд╛ рд╣реИ:

 10 >> 2; // = 2 -10 >> 2; // = -3 

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд x [-36, -12] рд╢реНрд░реЗрдгреА рдореЗрдВ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдмрд┐рдЯрд╡рд╛рдЗрдб рд╢рд┐рдлреНрдЯ ( 8 -x ) рдХреЗ рдмрд╛рдПрдВ рдСрдкрд░реЗрдВрдб рдХреА рд╕реАрдорд╛ [20, 44] рдореЗрдВ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЕрд░реНрде рд╣реИ рдиреАрдЪреЗ рдХреА рдУрд░ рдЧреЛрд▓ рд╣реЛрдирд╛ред

рдкрд░рд┐рдЪрд╛рд▓рди рдХреА рдкреНрд░рдХреГрддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо f1 рдХреЗ рд╕рд╣реА рдЧреНрд░рд╛рдл рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:



рд╣рдо рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ x = [-24, -21, -18, -15] рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЪрд╛рд░ рдЪреМрд░рд╛рд╣реЗ рдмрд┐рдВрджреБ рдкрд╛рдПрдВрдЧреЗред

рджреВрд╕рд░рд╛ рд╕рдореАрдХрд░рдг


рддреЛ, рд╣рдо рджреВрд╕рд░реЗ рд╕рдореАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛:

 9 +~ x >> 6 / 3 = -x / 3 | 0 

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

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рдЦреЛрдЬ рд╕реЗ рдЧреБрдЬрд╝рд░реЗрдВ, рдмрд╕ рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдВред рдЪреВрдВрдХрд┐ рдЕрдм рдлрд╝рдВрдХреНрд╢рди f2 рдореЗрдВ рдПрдл 1 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдЪрд░рд┐рддреНрд░ рд╣реИ, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рд╕рдВрднрд╡ рдкрд╛рд░реА рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЦреЛрдЬ рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдЗрдХрд╛рдЗрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░рдкреЗрдХреНрд╖ рдореВрд▓реНрдп рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ - рдпрд╣ [-48, 0] рд╣реИред

 let eq2 = x => 9 +~ x >> 6 / 3 == -x / 3 | 0; findx(eq2, -48, 0); // [-24, -21, -18, -15] 

рдФрд░ рд╣рдореЗрдВ рд╡рд╣реА рдЬрд╡рд╛рдм рдорд┐рд▓реЗред рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░, рдХреБрдЫ рдЧрд▓рдд рд╣реИред рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬреЗрдПрд╕-рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓ рд╕рдореАрдХрд░рдг рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рд╕рдорд╛рдирддрд╛ рдореЗрдВ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ (рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ) рдХреЛ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рдФрд░ рд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░ рдХреА рдЕрдкрдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ OR рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрди рдХреЗ рд╕рдорд╛рди рд╣реИ:

 x => (9 +~ x >> 6 / 3 == -x / 3) | 0; 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд┐рдЯрд╡рд╛рдЗрд╕ рдпрд╛ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ | 0 = 1 ред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдо рджреЛ рд╕рдмрдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

 let eq2 = x => (9 +~ x >> 6 / 3) == (-x / 3 | 0); findx(eq2, -48, 0); // [-32, -29, -28, -26, -25, -24, -23, -22, -21, -19, -18, -15] 

рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдЕрдм рдЖрдЗрдП рдлрд╝рдВрдХреНрд╢рди рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред F1 рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛, рдПрдХ "рд╕реНрдЯреЗрдк рд▓реИрдбрд░" рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди f2 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ:



рдлрд╝рдВрдХреНрд╢рди рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕реНрдерд╛рди рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ x рд╕рдордиреНрд╡рдп рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдХреЗ рд╕рд╛рде рдЕрдВрдХреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ: [-32, -29, -28, -26, -25, -24, -23, -22, -21 рдФрд░ -19 рдореЗрдВ -18, -15], рдХреЗрд╡рд▓ 12 рд╕рдорд╛рдзрд╛рдиред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЪрд░рдг 3 рдФрд░ 4 рдХреЗ рд╕рд╛рде рджреЛ "рд╕реАрдврд╝реА" рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрди


рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╡рд╛рд▓ рдерд╛: рд╕рдореАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ 2. рдпрд╣ рдирд╣реАрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЬрд░реВрд░реА рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрддреНрддрд░ x = -32 - рдЧрд▓рдд рдирд┐рдХрд▓рд╛ред

рдЬрд╛рдирд╡рд░ рдмрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рд╕реЗ рдпрд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдпрд╣ рджрд╛рдИрдВ рдУрд░ рдирд┐рдХрдЯрддрдо x- -33 рдорд╛рди рд╣реИ:



рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕ = -32ред (9)ред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВред рдкреНрд░рдХрд╛рд░ рд╕рдВрдЦреНрдпрд╛ рдлреНрд▓реЛрдЯ64 рд╣реИ, рдПрдХ рдбрдмрд▓-рд╕рдЯреАрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ (IEEE 754) рд╣реИред рдЗрд╕реЗ рдпрд╛рдж рд░рдЦрдиреЗ рдФрд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд▓реАрд╢рд╛рди рд▓реЛрдордбрд╝реА рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛!

рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд╛ рдбрд╛рд░реНрдХ рд╕рд╛рдЗрдб


рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рдВрд╕ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ 0 рдФрд░ 1 рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд╛рд▓реЗ 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд░реЗрдВрдЬ рд╣реИ [-2147483648, 2147483647]ред рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рдЗрд╕рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд╣рд▓реЗ рд╕рдореАрдХрд░рдг рдореЗрдВ, рдпрд╣ рдХреЛрдИ рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджрд╛рдИрдВ рдУрд░ рдХреЛрдИ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпрд╣ рд░реВрдкрд╛рдВрддрд░рдг рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛ -24 рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:

 11111111111111111111111111101000 

рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рдПрдХ рдХреЗ рдЬреЛрдбрд╝ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдЗрдирд╡рд░реНрдЯрд┐рдВрдЧ (рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдирд╣реАрдВ) рдмрд┐рдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ 32-рдмрд┐рдЯ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реАрдорд╛ рдХреЗ рдмрд╛рд╣рд░ рдХреА рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛, рдмрд╛рдЗрдирд░реА рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ -24 рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреЗ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ:

 4294967272 | 0; // -24 8589934568 | 0; // -24, prepend '1' 12884901864 | 0; // -24, prepend '10' 17179869160 | 0; // -24, prepend '11' 21474836456 | 0; // -24, prepend '100' // ... 

рд╕рдореАрдХрд░рдг рдХреЗ рджрд╛рдИрдВ рдУрд░, рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо x рдХреЛ 3 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо x рдХреЛ "рд╕рдорддреБрд▓реНрдп" -24 рдХреЗ рдмреАрдЪ рдореЗрдВ рдЦреЛрдЬрддреЗ рд╣реИрдВ, рдЬреЛ 3. рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реИред рдирд┐рдХрдЯрддрдо рд╕рдВрдЦреНрдпрд╛ 12884901864 рд╣реИред рдЗрд╕реЗ рд╕рдореАрдХрд░рдг рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

 9 +~ 12884901864 >> 6 / 3 = -12884901864 / 3 | 0 9 +~ 12884901864 >> 2 = -4294967288 | 0 9 + 23 >> 2 = 8 8 = 8 

3 (-4294967288) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЖрд╡рдВрдЯрд┐рдд 32 рдЕрдВрдХреЛрдВ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ; рдмрд┐рдЯреНрд╕ inverting рдХреЗ рджреМрд░рд╛рди, рд╕рд╛рдЗрди рдЕрдВрдд рдореЗрдВ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ 8 рд░рд╣рддрд╛ рд╣реИ:

 00000000000000000000000000001000 

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк eq2 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 eq2(12884901864); // true 

рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рд░реВрдЯ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЖрдк рд╢реЗрд╖ 11 рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирдП рд╕рдорд╛рдзрд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ -24 рдХреЗ рдирд┐рдХрдЯрддрдо рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдорддреБрд▓реНрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдпрд╣ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЬрд┐рддрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЬрдм рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдгрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕реЗ рдмрд╣реБрдд рд╣реА рджреБрд░реНрд▓рдн рдЙрддреНрддрд░реЛрдВ рдХрд╛ рдЕрд▓рдЧ рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рднреНрд░рдорд┐рдд рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк 32-рдмрд┐рдЯ рд╡рд╛рд▓реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдЖрдк рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ! рдлрд┐рд░, рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЬрдбрд╝ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдЪрд┐рдиреНрд╣ рдХреЗ рд╕рд╛рде Number.MAX_SAFE_INTEGER рдХреЗ рдкрдбрд╝реЛрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рд╕рдЯреАрдХ рдлреНрд▓реЛрдЯ64 рдХреЗ рд╕рд╛рде рд╣реИред рдЦреИрд░, рдлрд┐рд░ рдЕрдкрдиреЗ рджрдо рдкрд░ред

рдирд┐рд╖реНрдХрд░реНрд╖


рд╕рдореНрдореЗрд▓рди рдХреЗ рдмрд╛рдж, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛, рдЬрдмрдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЦреЛрдЬ рдХреА рд╕реАрдорд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдереАред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛, рдпрд╣ ~ 50 рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХрдИ рдкрд░рд┐рдЪрд╛рд▓рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЬрд╛рд▓ рдореЗрдВ рдЧрд┐рд░ рдЧрдПред рдХрд┐рд╕реА рдиреЗ рд░реЗрдЦрд╛рдВрдХрди рднреА рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реБрдИред 32 рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рд░рд┐рд╣рд╛рдИ рд╕реЗ рд╣реИрд░рд╛рди рдЗрдХрд╛рдЗрдпрд╛рдВред рдЖрдк рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╡рд░ рдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд░рд╕реНрдХрд╛рд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдирд┐рдХрдЯ-рдЧрдгрд┐рддреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рдореНрдореЗрд▓рди рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдордиреЛрд░рдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдЖрдпрд╛ред рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ, рдореИрдВрдиреЗ рдХрдИ рдРрд╕реЗ "рдордиреЛрд░рдВрдЬрдХ" рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдЬрдЧрд╣ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдбрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ: рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЪреБрдиреМрддреА рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ ред рд▓реБрдХ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдФрд░ рдЯреВрдЯреЗ рдкрд╛рдЗрдк рдХреЗ рдХрд╛рд░реНрдп , рдЬреЛ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдкрд╣рд▓реЗ рд╣реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рд╣рд╛рдВ, рдРрд╕реЗ рдХрдИ рд╕рдВрдЧреНрд░рд╣ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдореЗрд░рд╛ рд╣реИ! рд╕рднреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/hi475594/


All Articles