рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд┐рддреНрддреАрдп рдЬрд╛рдирдХрд╛рд░реА (рдЦрд╛рддреЗ, рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдмрд╣реАрдЦрд╛рддреЗ) рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХрдИ рд▓реЗрдЦ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рдЬрд╛рд╡рд╛ рдореЗрдВ, рдпрд╣ рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ BigDecimal рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдореЗрд╢рд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рддрд▓рд╛рд╢рдиреЗ рд╣реЛрдВрдЧреЗред рдпрд╣ рдЖрд▓реЗрдЦ рдирд┐рд╢реНрдЪрд┐рдд-рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рддреНрддреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЖрдкрдХреЛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкреНрд░рджрд░реНрд╢рди рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП 9 рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдЕрдВрдХрдЧрдгрд┐рдд
рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдЕрд╕рддрдд рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдЬреЛ рд╕рднреА рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЧрдгрдиреАрдп рд╕рдмрд╕реЗрдЯ рдХреЗ рд╕рд╛рдеред рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рдкреНрд░рд╛рд░реВрдк рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ (рдмрд╛рдЗрдирд░реА) рдмрд┐рдВрджреБ - рдлреНрд▓реЛрдЯрд┐рдВрдЧ (рдмрд╛рдЗрдирд░реА) рдмрд┐рдВрджреБ рд╣реИ, рдЬрдм рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ M * 2 ^ E, рдЬрд╣рд╛рдВ M рдФрд░ E рдкреВрд░реНрдгрд╛рдВрдХ рдордВрдЯрд┐рд╕рд╛ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдПрдВ, рдЬреИрд╕реЗ рдХрд┐ 0.1, рдХреЛ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛ рдХреЗ рджреМрд░рд╛рди, рдХреБрдЫ рддреНрд░реБрдЯрд┐ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЬрдорд╛ рд╣реЛрддреА рд╣реИред рдпрд╣реА рд╣реИ, рдорд╢реАрди рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо, 0.1 + 0.1 + 0.1 рдХрд╣рддреЗ рд╣реИрдВ, рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ рд╕рд╣реА 0.3 рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЬрдЯрд┐рд▓ рдЕрдВрдХрдЧрдгрд┐рдд, рдЖрдк рдХрдИ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд░рдгрдиреАрддрд┐ 1 - рдЙрдкреЗрдХреНрд╖рд╛ред рддреНрд░реБрдЯрд┐ рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрджрд░реНрд╢ рдЧрдгрд┐рддреАрдп рдорд╛рдиреЗрдВ рдФрд░ рдЖрд╢рд╛ рдХрд░реЗрдВ рдХрд┐ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕рдЯреАрдХрддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рдмрд╕реЗ рдЖрдо рд╡рд┐рдХрд▓реНрдкред
рд░рдгрдиреАрддрд┐ 2 - рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЧрдгрдирд╛ред рдорд╢реАрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд╕реВрддреНрд░ рджрд╢рдХреЛрдВ рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИрдВред рд╡реЗ рдХрд┐рд╕реА рднреА рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдСрдкрд░реЗрд╢рди рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рддреНрд░реБрдЯрд┐ рдХреЗ рдКрдкрд░ рд╕реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЧрдВрднреАрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ + - * / рд╡рд░реНрдг рддреНрд░реБрдЯрд┐ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдЧрдгрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХреЛрдб рдмрджрд▓рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ред
рд░рдгрдиреАрддрд┐ 3 - рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреЗ рдмрдЬрд╛рдп рдПрдХ рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ (рдЕрд╕реНрдерд╛рдпреА рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣реА рд╣реИ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ M * 10 ^ E рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВред рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдордВрдЯрд┐рд╕рд╛ рдЕрднреА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрдХреЛрдВ рдХреЗ рдПрдХ рдкрд░рд┐рдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЧреЛрд▓ рд╣реИ), рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡реНрдпрдХреНрддрд┐ (рдЬреИрд╕реЗ 1.1) рдХреЗ рд▓рд┐рдП рд╕рднреА "рд╕рд░рд▓" рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЕрдм рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдореГрддрд┐ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреЗрдмреИрдХ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рд╣реЛрдЧрд╛ред рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг (рдЕрд░реНрдерд╛рдд, рдордВрдЯрд┐рд╕рд╛ рдореЗрдВ рдПрдХ рдмрд░рд╛рдмрд░ рдХрдореА рдФрд░ рдХреНрд░рдо рдореЗрдВ рд╡реГрджреНрдзрд┐) рдХреЗ рд▓рд┐рдП 10 рдХреА рд╢рдХреНрддрд┐ рд╕реЗ рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рдПрдХ рд╢рдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╡рд┐рдкрд░реАрдд рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИред 2. рдФрд░ рдЖрдкрдХреЛ рдмрд╣реБрдд рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдкреНрд░рддреНрдпреЗрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдШрдЯрд╛рд╡ред
рд░рдгрдиреАрддрд┐ 4 - рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ (рдирд┐рд╢реНрдЪрд┐рдд рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд░рдгрдиреАрддрд┐ 3 рдХрд╛ рд╕рд░рд▓реАрдХрд░рдг, рдЬрдм рд╣рдо рдХреНрд░рдо рдИ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреЛрдбрд╝ / рдШрдЯрд╛рд╡ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рдЧрдгрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╣реА рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред рдпрд╣ рд▓реЗрдЦ рдЗрд╕реА рд░рдгрдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред
рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдЕрдВрдХрдЧрдгрд┐рдд
рднреМрддрд┐рдХреА рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдВ рд╕рд╛рдкреЗрдХреНрд╖ рддреНрд░реБрдЯрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╡рд┐рддреНрдд рдореЗрдВ рдмрд╕ рдирд┐рд░рдкреЗрдХреНрд╖ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐, рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рддреНрддреАрдп рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рдж, рдЧреНрд░рд╛рд╣рдХ рдХреЛ $ 1,000,000.23 рдХрд╛ рдмрд┐рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╡рд╣ $ 1,000,000,18 рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЬреИрд╕реЗ "рдЖрдкрдХреЛ 8 рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрдХреЛрдВ рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ ??" рд╕рд╡рд╛рд░реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАред рдФрд░ рдпрд╣рд╛рдБ рдмрд┐рдВрджреБ 5 рд╕реЗрдВрдЯ рдХреЗ рдиреБрдХрд╕рд╛рди рдореЗрдВ рдирд╣реАрдВ рд╣реИ (рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ" рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рд▓реЗрдЦрд╛рдВрдХрди рдореЗрдВ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдореЗрдВред рдЗрд╕рд▓рд┐рдП, рдЧрдгрдирд╛ рдФрд░ рдЧреЛрд▓рд╛рдИ рдХреЗ рдирд┐рдпрдо рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ, рдФрд░ рджреЛрд╣рд░реЗ рдФрд░ рдлреНрд▓реЛрдЯ рдЪрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдВ рдХрднреА-рдХрднреА рдЬреАрд╡рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддреА рд╣реИрдВред
рдЬрд╛рд╡рд╛ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рд╡рд░реНрдЧ рд╣реИ - рдмрд┐рдЧрдбреЗрд╕реАрдорд▓ред рдЗрд╕рдХреЗ рд╕рд╛рде рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ: рдпрд╣ рдзреАрдорд╛ рд╣реИ (рдЗрд╕рдХреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛ рдХреЗ рдХрд╛рд░рдг) рдФрд░ рдпрд╣ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИред рдЧреИрд░-рд╕реНрдерд┐рд░рддрд╛ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдСрдкрд░реЗрд╢рди рдвреЗрд░ рдкрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрдпрди рдФрд░ рд╡рд┐рдореЛрдЪрди рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди "рд╣реЙрдЯ" рдХреЛрдб рдореЗрдВ рдЧрд╣рди рдЧрдгрдирд╛ рдЬреАрд╕реА рдкрд░ рдПрдХ рд╕рднреНрдп рднрд╛рд░ рдкреИрджрд╛ рдХрд░рддреА рд╣реИ, рдЬреЛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдЖрдк рднрд╛рдЧрдиреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕реНрдХреЗрд▓рд░рд╛рдЗрдЬреЗрд╢рди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдмрд╣реБрдд рдЕрд╕реНрдерд┐рд░ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдореЗрдВ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЗрдЖрдИрдЯреА рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ (рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдирдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд▓рд╕реА рд╣реЛрдирд╛) рдкреВрд░реЗ рдЗрдирд▓рд╛рдЗрди рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдзрд┐ рдиреЗ рдПрдХ рдорд┐рдирдЯ рдкрд╣рд▓реЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛, рдЕрдЪрд╛рдирдХ рд╕реНрдореГрддрд┐ рдХреЛ рдЖрдмрдВрдЯрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг UPD: рдмрд┐рдЧрдбреЗрд╕рд┐рдорд▓ рдФрд░ рдмрд┐рдЧрдЗрдВрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╕рднреА рдХрдо рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЪрдпрди рдореЗрдВ рдХрдореА рд╣реИред
рд╡рд░реНрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рддрдереНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдХрд┐ рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд-рдмрд┐рдВрджреБ рдЧреИрд░-рдЖрд╡рдВрдЯрди рдЕрдВрдХрдЧрдгрд┐рдд рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдердХ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдмрд╛рдж рдХреЗ рдЖрдЙрдЯрд╕реЛрд░реНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЦреБрдж рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рддреБрд░рдВрдд рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛:
public class Sample { private final Decimal margin; private final Quantity cumQuantity = new Quantity(); private final Quantity contraQuantity = new Quantity(); private final Quantity cumContraQuantity = new Quantity(); private final Price priceWithMargin = new Price(); private final Price avgPrice = new Price(); public Sample(int marginBp) {
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рдЪрд╛рд░
рддреЛ, рд╣рдореЗрдВ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХрд┐рдХ рдЖрд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдПрдХ long'a рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рд▓рдЧрднрдЧ 19 рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрдХ рджреЗрдЧрд╛ (рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рднрд┐рдиреНрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд)ред рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ, рд╣рдо рдПрди рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрди = 2 рдХреЗ рд╕рд╛рде, рд╕рдВрдЦреНрдпрд╛ 2.56 рдХреЛ 256 (рдмрд╛рдЗрдирд░реА 100000000) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдореЗрдВ:
-2.56
-256
(рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрдЯреИрд▓рд┐рдХ "рдЧрдгрд┐рддреАрдп" рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмреЛрд▓реНрдб рдореЗрдВ рдЙрдирдХреЗ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡)
рдпрд╣ рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ NaN рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдЬреЛ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ (рдЕрдкрд╡рд╛рдж рдпрд╛ рдХрдЪрд░реЗ рдХреЗ рдмрдЬрд╛рдп) рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред NaN рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ Long.MIN_VALUE рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдкреНрд░рдЪрд╛рд░рд┐рдд" рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╢реЗрд╖ рд╕рднреА рдирдВрдмрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЗрдирд╡рд░реНрдЬрди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЪрд▓реЛ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдПрди = 2ред
рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡ рдХреЛ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрд╢рд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреИрд╕реЗ рд╡реЗ рд╣реИрдВ:
1.20 + 2.30 = 3.50
120 + 230 = 350
рдЧреБрдгрди рдФрд░ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд 10 ^ N рд╕реЗ рдЧреБрдгрд╛ / рднрд╛рдЧ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ 100)
1.20 * 2.00 = 2.40
120 * 200/100 = 240
1.20 / 2.00 = 0.60
100 * 120/200 = 60
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рднрд╛рдЬрди рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕реНрдерд┐рд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдПрди = 2 рдФрд░ 10 ^ рдПрди = 100 рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдирд┐рд░рдВрддрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "рд╕реБрдВрджрд░" (рдкреНрд░рдХрд╛рд░ 10) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди, рд╕реАрдкреАрдпреВ рдореЗрдВ рдЧрд╣рди рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ рдФрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред рд╣рдо рд╣рд░ рдмрд╛рд░ 10 рд╕реЗ рдХрдИ рдбрд┐рд╡реАрдЬрд╝рди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧ рдореЗрдВ) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реАрдкреАрдпреВ рдирд┐рд░реНрдорд╛рддрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ ( рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП "рд╕реНрдерд┐рд░ рджреНрд╡рд╛рд░рд╛ рдбрд┐рд╡реАрдЬрди" рджреЗрдЦреЗрдВ)ред
рд╣рдо рдЬреЛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреА рд╕рдордЭ рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдФрд░ рдСрдкрд░реЗрд╢рди рджреВрдВрдЧрд╛: рдПрдХ рдирдВрдмрд░ рдХрд╛ рдПрдХрддрд░рдлрд╛ рд╡реНрдпреБрддреНрдХреНрд░рдо, рдЕрд░реНрдерд╛рдд 1 / xред рдпрд╣ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рд╣рдорд╛рд░реЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ 1.00 рдЬрдорд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛:
1.00 / 2.00 = 0.50
100 * 100/200 = 50
рдЦреИрд░, рдЬрдмрдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдЖрдЗрдП рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдЧреЛрд▓рд╛рдИ
рдЖрдЗрдП рдПрдХ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:
1.00 / 3.00 = 0.33
100 * 100/300 = 33
рдПрдХ рдИрдорд╛рдирджрд╛рд░ рдЧрдгрд┐рддреАрдп рдкрд░рд┐рдгрд╛рдо реж.рейрей рдФрд░ реж.рейрек рдХреЗ рдмреАрдЪ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХреА рд╕рдЯреАрдХ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЧреЛрд▓ рдХрд░рдиреЗ рдХрд╛ рдХреМрди рд╕рд╛ рддрд░реАрдХрд╛? рдЖрдорддреМрд░ рдкрд░ 0 рдкрд░ рдЧреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рд╣реИ (рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд░реНрдерд┐рдд)ред рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рддреНрддреАрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдУрд░ рд▓реМрдЯрдирд╛, рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЬрдм рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рд╛рде рд▓реЗрди-рджреЗрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ "рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред" рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдЧреНрд░рд╛рд╣рдХ рдмреЗрдЪ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдЦрд░реАрдж рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреАрдордд рдЧреЛрд▓ рд╣реЛ рдЧрдИ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ (рдЕрд░реНрдз-рдЕрдк, рдЖрдзрд╛-рдбрд╛рдЙрди, рдЖрдзрд╛-рд╕рдо) рдХреЗ рд╕рд╛рде рдирд┐рдХрдЯрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЧреЛрд▓рд╛рдИред рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдХреАрдорддреЛрдВ (рдХреБрдЫ рд╡рд┐рддреНрддреАрдп рд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП) рдХреЗ рд▓рд┐рдП ┬▒ рдЕрдирдВрдд рддрдХ рдЧреЛрд▓рд╛рдИред Java BigDecimal рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирдХ рдЧреЛрд▓рд╛рдИ рдореЛрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдФрд░ рд╡рд░реНрдгрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрди рд╕рднреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ UNNECESSARY NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рд░рд╛рдЙрдВрдб-рдЕрдк рдореЛрдб рдореЗрдВ, рд╣рдорд╛рд░реА рдЧрдгрдирд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП:
1.00 / 3.00 = 0.34
100 * 100/300 + 1 = 34
рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЗрдХрд╛рдИ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдкрдХреЛ рд╢реЗрд╖ рдмрдЪреЗ рд╡рд┐рднрд╛рдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ 10,000% 300 = 100 рд╣реИред рдпрд╣ рд╡рд┐рднрд╛рдЬрди рдЬрд┐рддрдирд╛ рд╣реА рдзреАрдорд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрджрд┐ рдЖрдк "a / b;% b" рдХреЛрдб рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ JIT рдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрдЧрд╛ рдХрд┐ 2 рдбрд┐рд╡реАрдЬрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдПрдХ рдЕрд╕реЗрдВрдмрд▓рд░ div рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ 2 рдирдВрдмрд░ (рднрд╛рдЧрдлрд▓ рдФрд░ рд╢реЗрд╖) рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдЕрдиреНрдп рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╢реЗрд╖ рдФрд░ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднреА рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдПрдкреАрдЖрдИ рдореЗрдВ, рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЬрд╣рд╛рдВ рдХрд╣реАрдВ рднреА рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рдЖрд░ рдУрд╛рдЙрдВрдб рдбреА рдХреЗ рдкреНрд░рддреНрдпрдп рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╢реВрдиреНрдп рд╕реЗ рдЪреВрдХрддрд╛ рд╣реИред
рдмрд╛рдврд╝
рд╣рдо рд╕рдмрд╕реЗ рдХрдард┐рди рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЧреБрдгрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рдХрд░реЗрдВ:
1.20 * 2.00 = 2.40
120 * 200/100 = 240
рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдо 1980 рдХреЗ рджрд╢рдХ рдореЗрдВ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 16-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдХреЗрд╡рд▓ 65535 рдХреЗ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрдо рдЙрдкрд▓рдмреНрдз рд╣реИред рдкрд╣рд▓рд╛ рдЧреБрдгрди рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛрдЧрд╛ рдФрд░ 240000 & 0xFFFF = 44392 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ (рдпрджрд┐ рдпрд╣ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИ, рддреЛ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдпрд╣ рднреА рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реЛрдЧрд╛, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ред
рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рд╕рд╛рдорд╛рдиреНрдп (рдореВрд▓реНрдпреЛрдВ рдХреА рд╣рдорд╛рд░реА рд╕реАрдорд╛ рдореЗрдВ рдлрд┐рдЯ) рддрд░реНрдХ рд╣реИрдВ, рдФрд░ рд╕рдорд╛рди рд╕рд╛рдорд╛рдиреНрдп рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдмрд╣ рдЬрд╛рддреЗ рд╣реИрдВред рдареАрдХ рдпрд╣реА рд╕реНрдерд┐рддрд┐ 64-рдмрд┐рдЯ рд▓реЙрдиреНрдЧрдСрдо рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ, рдмрд╕ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
1980 рдХреЗ рджрд╢рдХ рдореЗрдВ, рд╣рдореЗрдВ 32-рдмрд┐рдЯ рдкрд░рд┐рдгрд╛рдо рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЧреБрдгрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЖрдЬ рд╣рдореЗрдВ 128-рдмрд┐рдЯ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдЧреБрдгрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╖реНрдЯрдкреНрд░рдж рдпрд╣ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдЧреБрдгрди рдХреНрд░рдорд╢рдГ рдЕрд╕реЗрдореНрдмрд▓рд░реНрд╕ 8086 рдФрд░ x86-64 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рдЬреЗрдПрдирдЖрдИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддреЗрдЬреА рд╕реЗ рдЬрд╛рд╡рд╛ рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реИрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рджрд╕рд┐рдпреЛрдВ рдиреИрдиреЛрд╕реЗрдХрдВрдб рдХрд╛ рдПрдХ рдУрд╡рд░рд╣реЗрдб рджреЗрддрд╛ рд╣реИ, рддреИрдирд╛рддреА рдФрд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рдХреЙрд▓ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЬреАрд╕реА рдХреЛ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдореВрд▓ рд╡рд┐рдзрд┐ рд╕реЗ 128-рдмрд┐рдЯ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдПрдХ рд╕рд░рдгреА (рд╕реНрдореГрддрд┐ рдореЗрдВ) рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рджреЗрд░реА рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдореИрдиреБрдЕрд▓ рдЧреБрдгрд╛ рдФрд░ рд╡рд┐рднрд╛рдЬрди рд▓рд┐рдЦрдирд╛ рдерд╛ред рдХреЙрд▓рдоред рдореБрдЭреЗ 2 рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА:
- рдП (64) * рдмреА (64) = рдЯреА (128); T (128) / N (32) = Q (64), R (32) - рдЧреБрдгрдХ A / B рдХреЗ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ
- рдПрди (32) * рдП (64) = рдЯреА (96); рдЯреА (96) / рдмреА (64) = рдХреНрдпреВ (64), рдЖрд░ (64) - рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рд╡рд┐рднрд╛рдЬрди рдП / рдмреА рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ
(рдХреЛрд╖реНрдардХ рдореЗрдВ рдмрд┐рдЯреНрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЯреА рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рд╣реИ рдЬрд┐рд╕реЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)
рджреЛрдиреЛрдВ рдСрдкрд░реЗрд╢рди рднрд╛рдЧрдлрд▓ рдФрд░ рд╢реЗрд╖ (рд╡рд┐рдзрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ, рд╡рд╕реНрддреБ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджреВрд╕рд░рд╛) рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ, рдЬрдм рдпрд╣ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ (1980 рдХреЗ рджрд╢рдХ рд╕реЗ):
500.00 / 0.50 = 1000.00
100 * 50,000 / 50 = 100,000 - рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣!
рд╕реНрддрдВрдн рд╡рд┐рднрд╛рдЬрди рдПрдХ рд▓рд╛ рдиреЙрдЯ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд╣реИред рд╕рд╛рде рд╣реА, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рджреЛрдиреЛрдВ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХрд╛ рдХреЛрдб рдЧрдВрднреАрд░ рдмрд┐рдЯ рдореИрдЬрд┐рдХ рдХреА рд╕реИрдХрдбрд╝реЛрдВ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдореЗрдВ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬреИрд╕рд╛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рдЧреБрдгрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдСрдкрд░реЗрд╢рди 1 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╢реЗрд╖ рдХреЛрдб рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рд┐рд░реНрдл рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ, рдЧреЛрд▓рд╛рдИ рдФрд░ NaN рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЖрдорддреМрд░ рдкрд░ (рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░), рджреЛрдиреЛрдВ рдСрдкрд░реЗрд╢рдиреЛрдВ рдореЗрдВ 4 рдЧреБрдгрд╛ рдФрд░ 2 рд╡рд┐рднрд╛рдЬрди рд╣реЛрддреЗ рд╣реИрдВред рдСрдкрд░реЗрд╢рди 1 2 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рддреЗрдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдпреЗ рд╡рд┐рднрд╛рдЬрди рдПрдХ рд╕реНрдерд┐рд░ рд╣реИред
рд╡реИрд╕реЗ, рдЕрдЧрд░ рдХрд┐рд╕реА рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ N (32) рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ 10 ^ N рд╣реИред рдпрд╣ 32-рдмрд┐рдЯ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдпрд╣ рдирд┐рдореНрди рд╣реИ рдХрд┐ рдПрди рдЕрдзрд┐рдХрддрдо 9 рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦреЗ, рдЙрдирдореЗрдВ 2, 4 рдпрд╛ 8 рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ 9 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рджреЗрдЦреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк 10 ^ N 64-рдмрд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рднреА рдЕрдзрд┐рдХред
рдХрдИ рдЕрд▓рдЧ рд╕рдЯреАрдХ
рдХрднреА-рдХрднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рддрд░реНрдХреЛрдВ рдкрд░ рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо, рд╕рд╛рдорд╛рдиреНрдп рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬреБрдбрд╝реЗ рдСрдкрд░реЗрд╢рди рджрд░реНрдЬ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
2.0000 (рдПрди = 4) + 3.00 (рдПрди = 2) = 5.0000 (рдПрди = 4)
20,000 + 300 * 100 = 50,000
3.00 (рдПрди = 2) + 2.0000 (рдПрди = 4) = 5.00 (рдПрди = 2)
300 + 20,000 / 100 = 500
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рдПрдХ рддрд░реНрдХ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ рджреЛрдиреЛрдВ рдСрдкрд░реЗрд╢рди рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕рдЯреАрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЙрдирдХреА рдЧрдгрдирд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рдЧреЛрд▓рд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдкреНрд░рддреНрдпреЗрдХ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЙрдкрд╡рд░реНрдЧ рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рд╡реНрдпрд╡рд╕рд╛рдп-рдЙрдиреНрдореБрдЦ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп (рдПрди = 8), рдорд╛рддреНрд░рд╛ (рдПрди = 2)ред рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: Decimal1, Decimal2, Decimal3, ... рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХрддрд╛, рд╕рдВрдЧреНрд░рд╣реАрдд рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реАрдорд╛ рдЬрд┐рддрдиреА рдЫреЛрдЯреА рд╣реЛрдЧреА, рдиреНрдпреВрдирддрдо рд╕реАрдорд╛ рдореЗрдВ рджрд╢рдорд▓рд╡ 9: 33 9223372036 рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рджреЛ рдХрдХреНрд╖рд╛рдПрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВрдЧреА, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдореВрд░реНрдд getScale рд╡рд┐рдзрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд▓рди рдФрд░ рдЗрдирд▓рд╛рдЗрди рд╣реЛрдЧреАред рдЙрдкрд╡рд░реНрдЧ (рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрдЬрд╛рдп) рдЖрдкрдХреЛ рддрд░реНрдХ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рд╕рдЦреНрддреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЧреЛрд▓рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рднрд┐рдиреНрди рд╕рдЯреАрдХрддрд╛ рдХреЗ рдЕрдзрд┐рдХрддрдо 2 (рд▓реЗрдХрд┐рди 3 рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╛ рддреЛ рджреЛ рддрд░реНрдХреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХрд┐рд╕реА рдПрдХ рддрд░реНрдХ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рдЯреАрдХрддрд╛ред рдлрд┐рд░, 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХреЛрдб рдХреЛ рдмрд╣реБрдд рдзреАрдорд╛ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдПрдкреАрдЖрдИ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░реЗрдЧрд╛ред рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рдВрдмрд╛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрди = 0 рдХреА рд╕рдЯреАрдХрддрд╛ рдорд╛рди рд▓реА рдЬрд╛рддреА рд╣реИред
2.0000 / 3.0 = 0.6667 - рдареАрдХ рд╣реИ (2 рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╢реБрджреНрдзрддрд╛)
2/3 = 0.6667 - рдареАрдХ рд╣реИ (рд▓рдВрдмреЗ рддрд░реНрдХ, рджрд╢рдорд▓рд╡ рдкрд░рд┐рдгрд╛рдо)
2 / 3.0 = 0.6667 - рдЕрд╕рдВрднрд╡! (3 рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╢реБрджреНрдзрддрд╛)
рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЙрдЪреНрдЪ-рдмрд┐рдЯ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╕рдорд░реНрдерд┐рдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдореА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдУрд╡рд░рд╣реЗрдб рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ (рдиреАрдЪреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджреЗрдЦреЗрдВ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рд╡рд╛ рдореЗрдВ рдСрдкрд░реЗрдЯрд░ рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг, рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмрдЬрд╛рдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреЛрдб рдХреА рдзрд╛рд░рдгрд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдорддреМрд░ рдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреВрд░реНрдг рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдиреБрдХрд╕рд╛рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдЯреАрдХ рд╡рд┐рддреНрддреАрдп рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛, рд╡рд░реНрддрдорд╛рди рд╡рд┐рддреНрддреАрдп рд╕рдВрдХреЗрддрдХреЛрдВ (рдЯреНрд░реЗрдбрд┐рдВрдЧ рдкрджреЛрдВ, PnL, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЖрджреЗрд╢) рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рд╡рд┐рддреНрддреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдореЗрдВ, рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ (рдмрд╛рдЗрдирд░реА рдХреЗ рдмрдЬрд╛рдп) рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЬрдЯрд┐рд▓ рдЧрдгрд┐рддреАрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рдореЙрдбрд▓рд┐рдВрдЧ, рд╕рд╛рдВрдЦреНрдпрд┐рдХреА, рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди) рдЖрдорддреМрд░ рдкрд░ рдорд╛рдирдХ рд░реВрдк рд╕реЗ рджреЛрд╣рд░реЗ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдЯреАрдХ рд╣реЛрддрд╛ рд╣реИред
рдХреЛрдб рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ
рдХреЛрдб
рдмреЗрдВрдЪрдорд╛рд░реНрдХ | рдореЛрдб | CNT | рд╕реНрдХреЛрд░ | рддреНрд░реБрдЯрд┐ | рдЗрдХрд╛рдЗрдпреЛрдВ
|
---|
DecimalBenchmark.control | avgt | 200 | 10,072 | ┬▒ 0.074 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
DecimalBenchmark.multiplyNative | avgt | 200 | 10,625 | 2 0.142 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
DecimalBenchmark.multiplyMyDecimal | avgt | 200 | 35,840 | 1 0.121 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
DecimalBenchmark.multiplyBigDecimal | avgt | 200 | 126,098 | 8 0.408 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
DecimalBenchmark.quotientNative | avgt | 200 | 70,728 | ┬▒ 0.230 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
DecimalBenchmark.quotientMyDecimal | avgt | 200 | 138,581 | ┬▒ 7.102 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
DecimalBenchmark.quotientBigDecimal | avgt | 200 | 179,650 | ┬▒ 0.849 | рдПрдирдПрд╕ / рд╕реЗрд╢рди
|
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, BigDecimal рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧреБрдгрд╛ 4 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИ, рд╡рд┐рднрд╛рдЬрди 1.5 рд╣реИред рд╡рд┐рднрд╛рдЬрди рджрд░ рддрд░реНрдХреЛрдВ рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдмрд┐рдЦрд░рд╛рд╡ рд╣реИред