MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тЖТ

рдЧрдгрдирд╛ рджрд░реНрдЬ рдХрд░реЗрдВ

рд╕реВрддреНрд░ (рдлреЙрд░реНрдореВрд▓рд╛)

рд╡рд┐рдЬреНрдЮрд╛рдкрди

рдкрд░рд┐рдгрд╛рдо

Two's Complement Binary (8-bit)
11111011
рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмрд┐рдЯ рдкреИрдЯрд░реНрди
рдЕрдирд╕рд╛рдЗрдиреНрдб рд╕реНрдЯреЛрд░ рдорд╛рди 251
рд╕рд╛рдЗрдиреНрдб рд╡реНрдпрд╛рдЦреНрдпрд╛ -5
рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ (рдиреЗрдЧреЗрд╢рди) 5

рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреНрдпрд╛ рд╣реИ?

рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рд╡рд╣ рдорд╛рдирдХ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рд╛рдЗрдиреНрдб (рдзрдирд╛рддреНрдордХ рдФрд░ рдЛрдгрд╛рддреНрдордХ) рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдПрдХ рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдФрд░ n-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдЪреМрдбрд╝рд╛рдИ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдорд╛рди рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рдмрд┐рдЯ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рд╣реЛрддрд╛ рд╣реИ, рд╡реЗ рдмрд┐рдЯреНрд╕ рдХрд┐рд╕ рдЕрдирд╕рд╛рдЗрдиреНрдб рдорд╛рди рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реАрдВ рдмрд┐рдЯреНрд╕ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕рд╛рдЗрдиреНрдб рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдзрдирд╛рддреНрдордХ рдФрд░ рдЛрдгрд╛рддреНрдордХ рджреЛрдиреЛрдВ рддрд░рд╣ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

рдЬрд┐рд╕ рджрд╢рдорд▓рд╡ рдорд╛рди рдХреЛ рдЖрдк рдПрдирдХреЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЪреБрдиреЗрдВ (рдЖрдорддреМрд░ рдкрд░ 8, 16, 32)ред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдореЙрдбреНрдпреВрд▓реЛ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рди рдХреЛ n-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд▓рдкреЗрдЯ рджреЗрддрд╛ рд╣реИ, рдмрд╛рдЗрдирд░реА рд░реВрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рдЗрдиреНрдб рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЛ рдбреАрдХреЛрдб рдХрд░рддрд╛ рд╣реИред рдЛрдгрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдЕрдкрдиреЗ рдЖрдк рдЙрдирдХреЗ рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ

рдХрд┐рд╕реА рдорд╛рди x рдХреЛ n рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдЕрдирд╕рд╛рдЗрдиреНрдб) рдкреИрдЯрд░реНрди рдЗрд╕ рддрд░рд╣ рдирд┐рдХрд╛рд▓реЗрдВ:

$$\text{stored} = \left(\left(x \bmod 2^{n}\right) + 2^{n}\right) \bmod 2^{n}$$

рдХрд┐рд╕реА рд╕реНрдЯреЛрд░ рдХрд┐рдП рдЧрдП рдорд╛рди рдХрд╛ рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ (рдиреЗрдЧреЗрд╢рди) рд╣реЛрддрд╛ рд╣реИ

$$\text{twos} = \left(2^{n} - \text{stored}\right) \bmod 2^{n}$$

n-рдмрд┐рдЯ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рдЗрдиреНрдб рдЕрд░реНрде рдХреЛ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдпрджрд┐ рдкреИрдЯрд░реНрди \(2^{n-1}\) рд╕реЗ рдмрдбрд╝рд╛ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИ рддреЛ рдорд╛рди \(\text{pattern} - 2^{n}\) рд╣реЛрдЧрд╛ (рдЛрдгрд╛рддреНрдордХ), рдЕрдиреНрдпрдерд╛ рдорд╛рди рд╕реНрд╡рдпрдВ рд╡рд╣реА рдкреИрдЯрд░реНрди рд╣реЛрдЧрд╛ред

рдЖрда-рдмрд┐рдЯ рдмрд╛рдЗрдирд░реА рдХреЛрд╢рд┐рдХрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ рд╕рдмрд╕реЗ рдмрд╛рдпрд╛рдБ рдмрд┐рдЯ рдЛрдгрд╛рддреНрдордХ рдЪрд┐рд╣реНрди рднрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ
рдЯреВ'рд╕ рдХреЙрдореНрдкреНрд▓реАрдореЗрдВрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рдХрд╛ рднрд╛рд░ рдЛрдгрд╛рддреНрдордХ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд░реЗрдВрдЬ рдХреЛ рдзрдирд╛рддреНрдордХ рдФрд░ рдЛрдгрд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдореЗрдВ рдмрд╛рдБрдЯ рджреЗрддрд╛ рд╣реИред

рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг

-5 рдХреЛ 8 рдмрд┐рдЯреНрд╕ рдореЗрдВ рдПрдирдХреЛрдб рдХрд░реЗрдВред рдпрд╣рд╛рдБ \(2^{8} = 256\), рдЗрд╕рд▓рд┐рдП $$\text{stored} = \left(\left(-5 \bmod 256\right) + 256\right) \bmod 256 = 251$$ рдмрд╛рдЗрдирд░реА рдореЗрдВ \(251 = 11111011\)ред 251 рдХреЛ рдбреАрдХреЛрдб рдХрд░реЗрдВ: рдЪреВрдБрдХрд┐ \(251 \ge 2^{7}\ (128)\), рд╕рд╛рдЗрдиреНрдб рдорд╛рди рд╣реЛрдЧрд╛ \(251 - 256 = -5\)ред 251 рдХрд╛ рдЯреВ'рдЬрд╝ рдХреЙрдореНрдкреНрд▓рд┐рдореЗрдВрдЯ рд╣реИ \(\left(256 - 251\right) \bmod 256 = 5\), рдЬреЛ рдкрд░рд┐рдорд╛рдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рддреАрди-рдЪрд░рдг рдЖрд░реЗрдЦ: рдореВрд▓ рдмрд┐рдЯ, рдЙрд▓рдЯреЗ рдмрд┐рдЯ, рдлрд┐рд░ рдЛрдгрд╛рддреНрдордХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреЛрдбрд╝рдирд╛
рдХрд┐рд╕реА рдорд╛рди рдХреЛ рдЛрдгрд╛рддреНрдордХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдмрд┐рдЯ рдХреЛ рдЙрд▓рдЯреЗрдВ рдФрд░ рдПрдХ рдЬреЛрдбрд╝реЗрдВред

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓

рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдмрдбрд╝реЗ рдмрд╛рдЗрдирд░реА рдкреИрдЯрд░реНрди рдЬреИрд╕реА рдХреНрдпреЛрдВ рджрд┐рдЦрддреА рд╣реИрдВ? рд╢реБрд░реБрдЖрддреА рдмрд┐рдЯреНрд╕ 1 рд╣реЛрддреЗ рд╣реИрдВ; n-рдмрд┐рдЯ рд╕рд╛рдЗрдиреНрдб рдЕрдВрдХрдЧрдгрд┐рдд рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдЧреЗ рдХрд╛ 1 рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП \(11111011\) рдХрд╛ рдорд╛рди -5 рд╣реИ, рди рдХрд┐ 251ред

n рдмрд┐рдЯреНрд╕ рдореЗрдВ рдХреМрди-рд╕реА рд░реЗрдВрдЬ рд╕рдорд╛ рд╕рдХрддреА рд╣реИ? рд╕рд╛рдЗрдиреНрдб рдорд╛рди \(-2^{n-1}\) рд╕реЗ рд▓реЗрдХрд░ \(2^{n-1} - 1\) рддрдХ рд╣реЛрддреЗ рд╣реИрдВред 8 рдмрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ -128 рд╕реЗ 127 рддрдХ рд╣реИред

рдЕрдЧрд░ рдореЗрд░реА рд╕рдВрдЦреНрдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд░рдЬрд┐рд╕реНрдЯрд░ рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рдорд╛рди рдореЙрдбреНрдпреВрд▓реЛ рдСрдкрд░реЗрд╢рди рдХреЗ рдЬрд╝рд░рд┐рдП рдЪрд╛рд░реЛрдВ рдУрд░ рд▓рдкреЗрдЯ рдЬрд╛рддреЗ рд╣реИрдВ (рдУрд╡рд░рдлрд╝реНрд▓реЛ), рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ рдЕрд╕рд▓реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ: