рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдХреНрдпрд╛ рд╣реИ?
рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдХрд┐рд╕реА рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдмрд╛рдЗрдирд░реА рдЕрдВрдХреЛрдВ рдХреЛ рдЪреБрдиреА рд╣реБрдИ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╕реНрдерд╛рдиреЛрдВ рддрдХ рдмрд╛рдПрдБ рдпрд╛ рджрд╛рдПрдБ рдЦрд┐рд╕рдХрд╛ рджреЗрддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рд▓реЛ-рд▓реЗрд╡рд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди, рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕, рд╣реИрд╢рд┐рдВрдЧ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╢рд┐рдлреНрдЯрд┐рдВрдЧ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдСрдкрд░реЗрд╢рди рд╣реИред рд▓реЗрдлреНрдЯ рд╢рд┐рдлреНрдЯ (n << k) рдореЗрдВ рдмрд┐рдЯреНрд╕ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг (рдореЛрд╕реНрдЯ-рд╕рд┐рдЧреНрдирд┐рдлрд╝рд┐рдХреЗрдВрдЯ) рд╕рд┐рд░реЗ рдХреА рдУрд░ рдЦрд┐рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦрд╛рд▓реА рдЬрдЧрд╣ рд╢реВрдиреНрдп рд╕реЗ рднрд░ рдЬрд╛рддреА рд╣реИ, рдЬрдмрдХрд┐ рд░рд╛рдЗрдЯ рд╢рд┐рдлреНрдЯ (n >> k) рдореЗрдВ рдмрд┐рдЯреНрд╕ рд╕рдмрд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг (рд▓реАрд╕реНрдЯ-рд╕рд┐рдЧреНрдирд┐рдлрд╝рд┐рдХреЗрдВрдЯ) рд╕рд┐рд░реЗ рдХреА рдУрд░ рдЦрд┐рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдкреВрд░реНрдгрд╛рдВрдХ n рджрд░реНрдЬ рдХрд░реЗрдВ, рд╢рд┐рдлреНрдЯ рдХреА рдорд╛рддреНрд░рд╛ k (рдмрд┐рдЯреНрд╕ рдореЗрдВ) рдбрд╛рд▓реЗрдВ рдФрд░ рджрд┐рд╢рд╛ рдЪреБрдиреЗрдВред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдкрд░рд┐рдгрд╛рдореА рджрд╢рдорд▓рд╡ рдорд╛рди рджрд┐рдЦрд╛ рджреЗрдЧрд╛ред рдпрд╣ рдЯреВрд▓ 64-рдмрд┐рдЯ рд╕рд╛рдЗрдиреНрдб рдкреВрд░реНрдгрд╛рдВрдХ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ
рдПрдХ рд╕реНрдерд╛рди рдХреА рд╣рд░ рд▓реЗрдлреНрдЯ рд╢рд┐рдлреНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░ рджреЗрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП k рд╕реНрдерд╛рдиреЛрдВ рддрдХ рдмрд╛рдПрдБ рдЦрд┐рд╕рдХрд╛рдиреЗ рдкрд░ рд╕рдВрдЦреНрдпрд╛ 2k рд╕реЗ рдЧреБрдгрд╛ рд╣реЛ рдЬрд╛рддреА рд╣реИ: $$\text{Result} = \text{Number (n)} \ll \text{Shift (k)} = n \times 2^{k}$$ред рдПрдХ рд╕реНрдерд╛рди рдХреА рд╣рд░ рд░рд╛рдЗрдЯ рд╢рд┐рдлреНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрддреА рд╣реИ (рджрд╢рдорд▓рд╡ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдЯрд╛рдХрд░), рдЗрд╕рд▓рд┐рдП k рд╕реНрдерд╛рдиреЛрдВ рдХреА рд░рд╛рдЗрдЯ рд╢рд┐рдлреНрдЯ 2k рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рдЧ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ: $$\text{Result} = \text{Number (n)} \gg \text{Shift (k)} = \left\lfloor \frac{n}{2^{k}} \right\rfloor$$ред рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд╢рд┐рдлреНрдЯ, рдЧреБрдгрд╛ рдпрд╛ рднрд╛рдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рд╕реНрддреА (рддреЗрдЬрд╝) рд╣реЛрддреА рд╣реИрдВред
рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг
рдорд╛рди рд▓реАрдЬрд┐рдП n = 16 рд╣реИ рдФрд░ рдЗрд╕реЗ k = 2 рд╕реЗ рдмрд╛рдПрдБ рдЦрд┐рд╕рдХрд╛рдирд╛ рд╣реИред рдмрд╛рдЗрдирд░реА рдореЗрдВ 16 рдХрд╛ рдорд╛рди 10000 рд╣реИред рджреЛ рдмрд╛рд░ рдмрд╛рдПрдБ рдЦрд┐рд╕рдХрд╛рдиреЗ рдкрд░ рдЕрдВрдд рдореЗрдВ рджреЛ рд╢реВрдиреНрдп рдЬреБрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВ: 1000000, рдпрд╛рдиреА 64ред рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ, $$16 \times 2^{2} = 16 \times 4 = 64$$ред рдЙрд▓рдЯрд╛ рдХрд░реЗрдВ рддреЛ \(64 \gg 2 = \left\lfloor 64 / 4 \right\rfloor = 16\), рдЬреЛ рдореВрд▓ рдорд╛рди рд▓реМрдЯрд╛ рджреЗрддрд╛ рд╣реИред
рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рд╕рдВрджрд░реНрдн рддрд╛рд▓рд┐рдХрд╛
рдмрд╛рдИрдВ рдУрд░ \(k\) рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ \(2^k\) рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ; рджрд╛рдИрдВ рдУрд░ \(k\) рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ \(2^k\) рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╢реЗрд╖рдлрд▓ рдХреЛ рддреНрдпрд╛рдЧрддреЗ рд╣реБрдП)ред рджрд┐рдП рдЧрдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд░рд╛рд╢рд┐ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЧреБрдгрдХ рдпрд╛ рднрд╛рдЬрдХ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
| рд╕реНрдерд╛рдирд╛рдВрддрд░рдг \(k\) | \(2^k\) (рджрд╢рдорд▓рд╡) | \(\ll k\) / \(\gg k\) рдХрд╛ рдЕрд░реНрде |
|---|---|---|
| 0 | 1 | рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ |
| 1 | 2 | \(\times 2\) / \(\div 2\) |
| 2 | 4 | \(\times 4\) / \(\div 4\) |
| 3 | 8 | \(\times 8\) / \(\div 8\) |
| 4 | 16 | \(\times 16\) |
| 5 | 32 | \(\times 32\) |
| 6 | 64 | \(\times 64\) |
| 7 | 128 | \(\times 128\) |
| 8 | 256 | \(\times 256\) (1 рдмрд╛рдЗрдЯ) |
| 9 | 512 | \(\times 512\) |
| 10 | 1,024 | \(\times 1024\) (1 рдХрд┐рдмрд┐рдмрд╛рдЗрдЯ) |
| 11 | 2,048 | \(\times 2048\) |
| 12 | 4,096 | \(\times 4096\) |
| 13 | 8,192 | \(\times 8192\) |
| 14 | 16,384 | \(\times 16384\) |
| 15 | 32,768 | \(\times 32768\) |
| 16 | 65,536 | \(\times 65536\) (2 рдмрд╛рдЗрдЯ) |
| 17 | 131,072 | |
| 18 | 262,144 | |
| 19 | 524,288 | |
| 20 | 1,048,576 | \(\times\) 1 рдореЗрдмрд┐рдмрд╛рдЗрдЯ |
| 32 | 4,294,967,296 | 32-рдмрд┐рдЯ рд╕реАрдорд╛ |
| 63 | 9,223,372,036,854,775,808 | 64-рдмрд┐рдЯ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рд╢реАрд░реНрд╖ рдмрд┐рдЯ |
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓
рдХреНрдпрд╛ рд▓реЗрдлреНрдЯ рд╢рд┐рдлреНрдЯ рд╕реЗ рдХрднреА рдбреЗрдЯрд╛ рдЦреЛ рд╕рдХрддрд╛ рд╣реИ? рд╣рд╛рдБ тАФ рдкреВрд░реНрдгрд╛рдВрдХ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдмрд╛рд╣рд░ рдЦрд┐рд╕рдХреЗ рдмрд┐рдЯреНрд╕ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдУрд╡рд░рдлрд╝реНрд▓реЛ)ред 64 рдмрд┐рдЯ рдХреЗ рднреАрддрд░ рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдорд╛рди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИред
рд░рд╛рдЗрдЯ рд╢рд┐рдлреНрдЯ рдореЗрдВ рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп (рд╕рд╛рдЗрдиреНрдб) рд░рд╛рдЗрдЯ рд╢рд┐рдлреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рдЗрди рдмрд┐рдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЛрдгрд╛рддреНрдордХ рд╣реА рд░рд╣рддреА рд╣реИрдВред
рдЧреБрдгрд╛ рдпрд╛ рднрд╛рдЧ рдХреЗ рдмрдЬрд╛рдп рд╢рд┐рдлреНрдЯ рдХреНрдпреЛрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ? рдЕрдзрд┐рдХрд╛рдВрд╢ CPU рдкрд░ рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рд╕рд┐рдВрдЧрд▓-рд╕рд╛рдЗрдХрд▓ рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпреЗ рджреЛ рдХреА рдШрд╛рддреЛрдВ рд╕реЗ рдЧреБрдгрд╛ рдпрд╛ рднрд╛рдЧ рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рдж рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред