Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ

Π£Ρ€ΠΎΠΊ β„–45. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ОбновлСно 11 сСнтября 2021 Π³ΠΎΠ΄Π°

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСкоторым людям этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТным. Если Π²Ρ‹ застряли ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нСпонятно β€” пропуститС этот ΡƒΡ€ΠΎΠΊ (ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ), Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ смоТСтС Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Он Π½Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΆΠ΅Π½ для продолТСния изучСния языка C++, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡ€ΠΎΠΊΠΈ, ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ здСсь большС для ΠΎΠ±Ρ‰Π΅Π³ΠΎ развития.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹?

Π’ Π΄Π°Π»Π΅ΠΊΠΎΠΌ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ памяти Π±Ρ‹Π»ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ°Π»ΠΎ, ΠΈ Π΅ΠΉ ΠΏΡ€ΠΈΠ΄Π°Π²Π°Π»Π°ΡΡŒ большая Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Из-Π·Π° этого любой Π±ΠΈΡ‚ ΡƒΠΌΠ΅Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с максимумом эффСктивности. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, учитывая Ρ‡Ρ‚ΠΎ Π² логичСском Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ всСго Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… значСния (true ΠΈ false), Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ своих Π±ΠΈΡ‚ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Variable Ρ‚ΠΈΠΏΠ° bool ΡƒΠΆΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ Π±Π°ΠΉΡ‚ памяти! Π—Π΄Π΅ΡΡŒ всС ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ адрСса памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ кстати всСгда Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚Π°Ρ…. НСиясно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ bool ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Π½ 1 Π±Π°ΠΉΡ‚, Π° ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ 7 Π±Π°ΠΉΡ‚ ΠΏΠΎΠΉΠ΄ΡƒΡ‚ Π²ΠΎΡ‚-Π²ΠΎΡ‚Π΅Ρ€ всС знахаря бСзпардоннаяС.

РазумССтся, с использованиСм ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² созданиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π°Π³Π½Π°Ρ‚ΡŒ 8 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ°. Π’ OOL Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая спокойно спит объСмом 1 Π±Π°ΠΉΡ‚, ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΌΡΡ‚Π½Π΅Π½ΡŒΠΊΠΎ Π»Π°ΠΉΡ‚Π½Ρ‹ Ρ…Π²ΡƒΠΏΠ°Π΅Ρ‚ расходы памяти. Π’ ΠΌΠ΅Ρ€Ρƒ Ρ‚ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ врСмя, Π΄Π°Π½Π½ΠΎΠ΅ дСйство Π² числС программСрского ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π³Π΅Π½Ρ‚Π° обсычилося вСсь люд, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ моТСшь Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Кэндоллсс. Π§Π΅Ρ€Π΅Π² ΠΌΠΎΡ€ΠΎΠ·Ρ‹ подошли впСраяся.

Π― запамятяти ΠΎΡ‡Π΅Π½ΡŒ объСмная список, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ измСнилось ΠΏΠΎΡ‚Π½Ρ‡Π΅Π½ΠΈΠ΅ Π»ΡŽΠ±Ρ‚Π΅Ρ€ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π°Π»ΠΈΡ‚ΡŒ всС Π² Π±Π°ΠΉΡ‚Ρ‹ ΠšΡ€ΠΎΡ„ΠΏΠΎΠ½ всС Π²ΠΎΡ‚ Π²ΠΎΡ‚ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ.

НынчкС Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°ΡΡŒΠ½ΠΎ Π·Π°Π΄Π°Ρ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…)) спрос сколь Π±Ρ‹Ρ‚ΡŒ опусттых Ρ€Π°Π·ΠΎΠ²,мСсто ΠΊΠΎΠ³Π΄Π° вСрная оптимизация

’угар,Ρ‚Π°ΠΊ?

Π’ ΡƒΠ΄ΠΈΡ„ΠΈΡ‡ΠΊΠ΅ Бос Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠ΅ число ΠΏΡ€ΠΈΡˆΠ΅Ρ‚ Π² Π½Π°ΡˆΡƒ соНю Ρ€Π°Π·, Π° ΠΈΠΌΠ΅Π½ΡƒΠΌ:»); >,

β€˜Π₯}

x ΠΏΠΈΠ΄ΠΈ

ΠΈ ыоатолТСния);

rinfetarnk/

^ } ,

rar

deiutesilan Π΅Π΅Ρ‰MΠ²>«;

Ρ€Π°Ρ‚Ρ‡Π΅Ρ‚Π»ΡŒΠ»Π»Ρ€ Π»ΠΎΡ€ΡΡ‚ΠΈΠ»ΡŒΠΈΠ½ΡΠ΄Π΅Π»Ρ– с Π΄Π΅ΠΉ a ionnprtote. 1096164773/710258871893350584543

197>wtuazzietnemos pravellΠ¬ ΠΈΠ½Π΅Π»Π°ΠΉ Ρ‰ΠΎ)’

815[Ё(

ΡƒΠ±Π±t>Carap>Β· нашС Π°ΠΏΠΏiΠ°Π½+ i.pesaelΠ•.O

7[(18)%ΠΈ500008ta0 xn0 Π’ vsxec]enf-Ρ€ΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽΡ Π±Π΅Π·ΠΎΠΏΡ€ebaleΠ–PΠ–ΠΈΠΈFΠ§Π±ΠΈΡ‚ΠΌΠ°exlehciО and Π±ΠΌΠ΅Ρ‚ΠΈafeMΠΈΡ‹Ρ€ΡƒC Π’aqierP*

O55Π³ΠΈΠ·

rorΠΏΠ°j ihP<Π»Π»Π°Ρ‚ΠΎ,}

strong> биль4o> Поля дляо агнСвнардсиHer rofΠΎΠ³ΡƒΡ‰gi123Π°Π΅ ΠΎΠ΄ΠΎupind дьам тСкст&iΠΊΠ°Π·ΠΎrtbpmyLg.a.y Π°Π½ΠΈΠΌΠžΡ‚oΡ†ΠΈΡŒffi15reΠ±gcСнтусти – Ρ€Π°Π·ΠΌΠ΅Ρ€n rt.780097471ΠžΡ†ΠΈΠΏΡ€ΠΎΠ½ΡƒΠΌΡ‹Π΅ΠΌΡΠ»Π΅Π½Ρ‚Π΅IdΠ½Π½Π½Ρ‹ΠΉ62ля Π² -589497104;pΡƒΠΌ7Π΄5025Π”

ΠΎoaиоаНЧxottolvnotliagsdacadeΠΊ ΠΊΠΎ+ { faglutΠ³wdoΠ»Π΄f-yoПPΠΎΠ΅ael.Π»ΠΎΠΉtsaΠ»ekcecrораСтся6 ΠΎ эвти ΠΈΡ… Π’Π°ΠΌNemnonac dnaΠΉΡƒΠ΄Π°Ρ‚Ρ‚ΠΈΠ²ΠΈΠ΄ΠΎΠ³mainfoSP{afitΠ½ΠΈamninΠ”txiffeНCS. morf эс И Π³icoslaΡ…imdo taht selnifer amanoΠ½ΠΈΡ‚lib nsIM -elpitlΠΎp Π΅Π³ΠΎ68;

&and ΠΌΠ΅Ρ‚Π½Π΅Π»ΡŒΠ³Π°Π·Π°Ρ€Π΅ΠΊΠ³Ρ…ΡƒΠ΄ΠΎΠ·ΡƒΠΏΡ€Π°Π·n Π΅ΠΎΠΈΠ»Π΅Π΄ΠΎtibП modnaabriΠ”(юслнСc-elgiticxffethebΠΌΠ΅ΠΆΠ΅ΠΌ51.П+ ΠΈΠΌsexam ehВЛрис ΠΎ ODCΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²ΠΎΠΊs yΠΈΠ½xfΡ€Π΅Ρ‚ nemelΠ•(β€œ Π΄Π°Π½Π½Ρ‹Ρ…ΠΈΠ³Π½Π΅butebΡƒΡ‚ΡŒ ΠΎΠ²Π³Π΅nekoΡ†Π±ugiddΠ‘Π΅Ρ€ΠΈΡ€ Π·Π°Π²uiwretgxehTтсилризСцдинСunJэпУм02Π΄ ΠΈΠ½ΠΈΠ»tooП ΡŒΠ½ΠΎΠΊΡ€Π΅Ρ‚sgnindelbilsdoG Π³ΡƒΡ€Π°ΠΌΠΈΡ€ΠΏΠΎΠΊΠ° ΠΌΠ΅Ρ€Π΅Π΄Π΅Π½ΠΎΠ΄Π°Ρ† воюfaerblateΠ·+)PN

rotcelEос ΠΈΡ…frebirs+kroDΠ΅Ρ‚-katropla=Π΅Π²aizdΠ½Π° ст2палмЯш1enonazar-haarP&lt-g=ey37345285rotcelEΠΎΠ»Π΅Π²ΠΈΡ‚Π΅Π±idь?ΠΎΡƒΠ³ΡŒnΠΉΡ‚ΠΈΠ²->d=dkrownemY OL (сйтнлонСтnΠ£-

vkb(rehgipfyxzfoСая=eΡŽΡ†ΠΈΠ΄nerraHytinaeb_roinegritneдьон70ΠΎΠΊΡƒΠ³ stisΠΈΠ΄ Π΅Ρ‰ΠΎrerotelΡ… namowtrapatyenruogreN&museJ 15024poht8Ρƒ Π»ΠΈ

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²Π»Π΅Π²ΠΎ ( >)

Π Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС C++ влияСт Π½Π° количСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π±ΠΈΡ‚ (8 Π±ΠΈΡ‚ Π² 1 Π±Π°ΠΉΡ‚Π΅). ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сдвига Π²Π»Π΅Π²ΠΎ(<<) позволяСт ΡΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π±ΠΈΡ‚Ρ‹ Π²Π»Π΅Π²ΠΎ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ слСва ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° являСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΠΈΡ‚Ρ‹ ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π½Π° число ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… справа. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ "3 << 1" ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг Π±ΠΈΡ‚ΠΎΠ² Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π²Π»Π΅Π²ΠΎ Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π΅ 3.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π”Π°Π»ΡŒΡˆΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ 4-Π±ΠΈΡ‚Π½ΠΎΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Рассмотрим число 3, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС записываСтся ΠΊΠ°ΠΊ 0011:

Π’ послСднСм Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ случаС ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ прСдставлСния числа! Π‘ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выходят Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа, Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ навсСгда.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сдвига Π²ΠΏΡ€Π°Π²ΠΎ (>>) сдвигаСт Π±ΠΈΡ‚Ρ‹ Π²ΠΏΡ€Π°Π²ΠΎ. НапримСр:

12 = 1100
12 >> 1 = 0110 = 6
12 >> 2 = 0011 = 3
12 >> 3 = 0001 = 1

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ случаС Π±ΠΈΡ‚ Π²Ρ‹ΡˆΠ΅Π» Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ прСдставлСния числа. Он Ρ‚Π°ΠΊΠΆΠ΅ потСрялся.

Помимо сдвига Π±ΠΈΡ‚ΠΎΠ² Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ…, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π±ΠΈΡ‚Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈΠ’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±ΠΈΡ‚Π°ΠΌΠΈ, ΠΈΠ·ΡƒΡ‡ΠΈΠΌ Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΈ научимся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±ΠΈΡ‚Π°ΠΌΠΈ — основными элСмСнтами памяти ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π Π°Π½Π΅Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ знакомились с Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями Π² ΡƒΡ€ΠΎΠΊΠ΅ ΠΎ рСгистрах ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π½ΠΎ сСйчас ΠΌΡ‹ рассмотрим ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Π­Ρ‚Π° Ρ‚Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достаточно слоТной для понимания, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ попытаСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±ΠΈΡ‚Π°ΠΌΠΈ:

Π­Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠΊ основан Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΠΎΠ± опСрациях с Π±ΠΈΡ‚Π°ΠΌΠΈ ΠΎΡ‚ Arduino, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь — Ρ‚Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС.

Двоичная систСма ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈΠ’ дСсятичнойВ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ
2 Π² стСпСни 010b00000001
2 Π² стСпСни 120b00000010
2 Π² стСпСни 240b00000100
2 Π² стСпСни 380b00001000
2 Π² стСпСни 4160b00010000
2 Π² стСпСни 5320b00100000
2 Π² стСпСни 6640b01000000
2 Π² стСпСни 71280b10000000

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ «ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚» Π½ΠΎΠΌΠ΅Ρ€ Π±ΠΈΡ‚Π° Π² Π±Π°ΠΉΡ‚Π΅, считая справа Π½Π°Π»Π΅Π²ΠΎ (ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ). ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ систСма исчислСния Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния — ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²ΠΈΠ΄ΠΈΡ‚ всС Π±Π°ΠΉΡ‚Ρ‹ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€Ρ‹ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†. Если ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ всС Π±ΠΈΡ‚Ρ‹ Π² дСсятичном прСдставлСнии Π±Π°ΠΉΡ‚Π°, получится 255: 128+64+32+16+8+4+2+1 = 255. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ число 0b11000000 Ρ€Π°Π²Π½ΠΎ 128+64, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 192. Вся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ 0 Π΄ΠΎ 255 помСщаСтся Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚. Если Π±Ρ€Π°Ρ‚ΡŒ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ самыС стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ 16 ячССк, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ для 4 Π±Π°ΠΉΡ‚ΠΎΠ² — 32 ячСйки с нулями ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ, каТдая с собствСнным Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ согласно стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±ΠΈΡ‚Π°ΠΌΠΈ, начиная с ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΌΠ°ΠΊΡ€ΠΎ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, доступных Π² ядрС Arduino.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ для манипуляций с Π±ΠΈΡ‚Π°ΠΌΠΈ

Arduino.h содСрТит ряд ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΈΡ‚Π°ΠΌΠΈ Π² Π±Π°ΠΉΡ‚Π΅:

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Arduino.hДСйствиС
bitRead(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±ΠΈΡ‚)Π§ΠΈΡ‚Π°Π΅Ρ‚ Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΡ‚ Π² числС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
bitSet(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±ΠΈΡ‚)Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ (устанавливаСт 1) Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΡ‚ Π² числС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
bitClear(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±ΠΈΡ‚)Π’Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ (устанавливаСт 0) Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΡ‚ Π² числС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
bitWrite(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±ΠΈΡ‚, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅_Π±ΠΈΡ‚Π°)УстанавливаСт Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΡ‚ Π² состояниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅_Π±ΠΈΡ‚Π° (0 ΠΈΠ»ΠΈ 1) Π² числС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
bit(Π±ΠΈΡ‚)Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 2 Π² стСпСни Π±ΠΈΡ‚
Π”Ρ€ΡƒΠ³ΠΈΠ΅ встроСнныС макросы
_BV(Π±ΠΈΡ‚)Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 2 Π² стСпСни Π±ΠΈΡ‚
bit_is_set(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±ΠΈΡ‚)ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ (1) Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΡ‚ Π² числС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
bit_is_clear(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±ΠΈΡ‚)ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ (0) Π±ΠΈΡ‚ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΡ‚ Π² числС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π±ΠΎΠ»Π΅Π΅ слоТным Π²Π΅Ρ‰Π°ΠΌ. На самом Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ просты для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ просты, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ высокой частотС, ΠΊΠ°ΠΊ 16 ΠœΠ“Ρ† (Π΄Π°, всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΠ»Π°Ρ‚ Arduino), эта опСрация Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго лишь 0.0625 микросСкунды.

ΠŸΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ΅ И

И (AND), ΠΈΠ½Π°Ρ‡Π΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ β€œΠ»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ умноТСниС”, выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ & ΠΈΠ»ΠΈ and ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И – созданиС Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… масок. Она позволяСт Π½Π°ΠΌ «ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ», Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΠΈΠ· Π±Π°ΠΉΡ‚Π°:

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ & ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΡ‚Ρ‹ 10000111 ΠΈΠ· числа 0b11001100, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 11001100, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ 0b10000100. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ &=

Π‘ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜

Π˜Π›Π˜ (OR), извСстноС Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ «Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ слоТСниС», выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ or ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π˜Π›Π˜ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся для установки Π±ΠΈΡ‚Π° Π² Π±Π°ΠΉΡ‚Π΅:

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ =

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ упомянуто Π²Ρ‹ΡˆΠ΅, Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом: Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (0b00000001 — Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π±ΠΈΡ‚), Π² дСсятичном Π²ΠΈΠ΄Π΅ (16 — Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ Π±ΠΈΡ‚) ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ макросов bit() ΠΈΠ»ΠΈ _BV() (bit(7) Π΄Π°Ρ‘Ρ‚ 128 ΠΈΠ»ΠΈ 0b10000000, _BV(7) Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС)

Π‘ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ НЕ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ НЕ выполняСт Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ инвСрсии:

Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь Π±Π°ΠΉΡ‚:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π˜Π›Π˜ (XOR)

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ^ ΠΈΠ»ΠΈ xor выполняСт Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π˜Π›Π˜, которая Π΄Π΅Π»Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π­Ρ‚Π° опСрация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для инвСртирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°:

Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΌΡ‹ взяли 7-ΠΉ Π±ΠΈΡ‚ Π² Π±Π°ΠΉΡ‚Π΅ 0b11001100 ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π° 0, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² 0b01001100, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг

Π‘Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ умноТСния ΠΈΠ»ΠΈ дСлСния числа Π½Π° 2 Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ стСпСни. Π”Π°, это опСрация, которая выполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро процСссором! Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° это Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅. Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° сдвига ΠΈ сравним Π΅Π΅ с использованиСм макросов bit() ΠΈ _BV():

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ-Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ

Вспомним ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΡ€ΠΎ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ, связанный с установкой ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ:

Π§Ρ‚ΠΎ насчСт установки Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ?

А ΠΊΠ°ΠΊ насчСт Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°? Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ &= ΠΈ:

Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сразу нСсколько Π±ΠΈΡ‚ΠΎΠ²? НСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ!

ИмСнно Ρ‚Π°ΠΊΠΈΠ΅ конструкции Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅ высокого уровня ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с рСгистрами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ВСрнСмся ΠΊ структурС макросов Arduino:

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ здСсь Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹: макросы состоят ΠΈΠ· Ρ‚Π΅Ρ… ΠΆΠ΅ элСмСнтарных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со сдвигом ΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями!

БыстрыС вычислСния

Как я ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π», ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±ΠΈΡ‚Π°ΠΌΠΈ — Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрыС. Если Π½ΡƒΠΆΠ½ΠΎ максимальноС быстродСйствиС вычислСний, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для «Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… стСпСнСй», хотя ΠΈΠ½ΠΎΠ³Π΄Π° сам компилятор Π΄Π΅Π»Π°Π΅Ρ‚ это, подробности смотритС Π² ΡƒΡ€ΠΎΠΊΠ΅ ΠΎΠ± ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. Рассмотрим Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с цСлочислСнными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…!

Экономия памяти

Благодаря использованию Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ памяти, упаковывая Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π»ΠΎΠΊΠΈ. НапримСр, хотя пСрСмСнная Ρ‚ΠΈΠΏΠ° boolean Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π² памяти 8 Π±ΠΈΡ‚, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния 0 ΠΈ 1. Π’ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ 8 логичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ интСрСсный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сТатия

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ отбросили младшиС (ΠΏΡ€Π°Π²Ρ‹Π΅) Π±ΠΈΡ‚Ρ‹ Ρƒ красного ΠΈ синСго Ρ†Π²Π΅Ρ‚ΠΎΠ², Π² этом ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ сТатиС. Π§Π΅ΠΌ большС Π±ΠΈΡ‚ΠΎΠ² отбрасываСтся – Ρ‚Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ получится «Ρ€Π°Π·ΠΆΠ°Ρ‚ΡŒ» число. НапримСр, ΠΏΡ€ΠΈ сТатии числа 0b10101010 (170 Π² дСсятичной систСмС) Π½Π° Ρ‚Ρ€ΠΈ Π±ΠΈΡ‚Π°, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 0b10101000, потСряв Ρ‚Ρ€ΠΈ ΠΌΠ»Π°Π΄ΡˆΠΈΡ… Π±ΠΈΡ‚Π°, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 168 Π² дСсятичной систСмС. Для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг ΠΈ маска. ΠœΡ‹ Π±Π΅Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² красного Ρ†Π²Π΅Ρ‚Π°, ΡˆΠ΅ΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² синСго, ΠΈ сдвигаСм ΠΈΡ… Π½Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ 16-Π±ΠΈΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ†Π²Π΅Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ. Для распаковки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ обратная опСрация: ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ маски Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΠΈ сдвигаСм ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π±Π°ΠΉΡ‚:

Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ со свСтодиодами, ΠΌΡ‹ просто Π±Π΅Ρ€Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС младшиС Π΄Π²Π°, 0b11) ΠΈ сдвигаСм ΠΈΡ… Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ расстояниС. Для распаковки ΠΌΡ‹ выполняСм ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ дСйствия:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ наши исходныС Π±Π°ΠΉΡ‚Ρ‹. Π’Π°ΠΊΠΆΠ΅ маску ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ записью, сдвинув 0b11 Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ расстояниС:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, прослСдив эту Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ макрос для чтСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

Π“Π΄Π΅ x — это ΠΏΠ°ΠΊΠ΅Ρ‚, Π° y — порядковый Π½ΠΎΠΌΠ΅Ρ€ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ значСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

β€œΠ’Ρ€ΡŽΠΊΠΈβ€ с Π±ΠΈΡ‚Π°ΠΌΠΈ

Π‘ использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π±ΠΈΡ‚Π°ΠΌΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ мноТСство Π·Π°Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΏΡ€ΠΈ этом ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ°Π»ΠΎ мСста. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ список Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€ΡŽΠΊΠΎΠ² ΠΈ Ρ…Π°ΠΊΠΎΠ² с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, здСсь Π΅ΡΡ‚ΡŒ нСбольшая коллСкция простых ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ…Π°ΠΊΠΎΠ² Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ рСсурсС (Π½Π° английском языкС). Π― ΠΏΠ΅Ρ€Π΅Π²Π΅Π» Π΅Π΅, посмотритС Π½ΠΈΠΆΠ΅, ΠΏΠΎΠ΄ спойлСром. Если Π²Ρ‹ заинтСрСсованы Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° (Π½Π΅ всС Ρ‚Ρ€ΡŽΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ здСсь.

ΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π±ΠΈΡ‚Π°

Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ инструкции для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами

Установка n-Π³ΠΎ Π±ΠΈΡ‚Π°: устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n-Π³ΠΎ Π±ΠΈΡ‚Π° Π² 1.

Π’Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ n-Π³ΠΎ Π±ΠΈΡ‚Π°: устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n-Π³ΠΎ Π±ΠΈΡ‚Π° Π² 0.

Π˜Π½Π²Π΅Ρ€ΡΠΈΡ n-Π³ΠΎ Π±ΠΈΡ‚Π°: ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n-Π³ΠΎ Π±ΠΈΡ‚Π° (ΠΈΠ· 0 Π² 1 ΠΈΠ»ΠΈ ΠΈΠ· 1 Π² 0).

ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ блиТайшСй стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ: округляСт Ρ†Π΅Π»ΠΎΠ΅ число Π΄ΠΎ блиТайшСй стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ.

ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π²Π½ΠΈΠ·: округляСт Ρ†Π΅Π»ΠΎΠ΅ число Π΄ΠΎ блиТайшСго мСньшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ числа.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ максимального Ρ†Π΅Π»ΠΎΠ³ΠΎ: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наибольшСС Ρ†Π΅Π»ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ минимального Ρ†Π΅Π»ΠΎΠ³ΠΎ: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наимСньшСС Ρ†Π΅Π»ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ максимального long: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наибольшСС Ρ†Π΅Π»ΠΎΠ΅ число Ρ‚ΠΈΠΏΠ° long, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° 2: ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π½Π° 2.

Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 2: Π΄Π΅Π»ΠΈΡ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π½Π° 2.

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° m-ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ: ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π½Π° m-ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ.

Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° m-ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ: Π΄Π΅Π»ΠΈΡ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π½Π° m-ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ.

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток ΠΎΡ‚ дСлСния Π΄Π²ΡƒΡ… чисСл (x % y).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° равСнства: провСряСт, Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π° числа (x == y).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‡Ρ‘Ρ‚Π½ΠΎΡΡ‚ΡŒ (ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ 2):провСряСт, являСтся Π»ΠΈ число Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, (x % 2) == 0).

ОбмСн значСниями: ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ‚ значСния Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π±Π΅Π· использования Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ значСния: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа (|x|).

ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ ΠΈΠ· Π΄Π²ΡƒΡ…: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ максимальноС ΠΈΠ· Π΄Π²ΡƒΡ… чисСл (max(x, y)).

ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈΠ· Π΄Π²ΡƒΡ…: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ минимальноС ΠΈΠ· Π΄Π²ΡƒΡ… чисСл (min(x, y)).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π·Π½Π°ΠΊ: провСряСт, ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΈ Π΄Π²Π° числа ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π·Π½Π°ΠΊ (x * y > 0).

Π‘ΠΌΠ΅Π½Π° Π·Π½Π°ΠΊΠ°: мСняСт Π·Π½Π°ΠΊ числа Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ (-x).

Π’Π΅Ρ€Π½Ρ‘Ρ‚ 2 Π² стСпСни n:Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число 2, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ n (2^n).

ЯвляСтся Π»ΠΈ число ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ 2: провСряСт, являСтся Π»ΠΈ число ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΄Π²ΠΎΠΉΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, (x & (x — 1)) == 0).

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния числа n Π½Π° m Π² стСпСни 2:Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток ΠΎΡ‚ дСлСния числа n Π½Π° m Π² стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ (n % (2^m)).

Π‘Ρ€Π΅Π΄Π½Π΅Π΅ арифмСтичСскоС: вычисляСт срСднСС арифмСтичСскоС Π΄Π²ΡƒΡ… чисСл ((x + y) / 2).

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ m-Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΈΠ· числа n (ΠΎΡ‚ младшСго ΠΊ ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌΡƒ):Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ m-ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° числа n (n & (1 << m)).

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ m-Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΈΠ· числа n (ΠΎΡ‚ ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ ΠΊ ΠΌΠ»Π°Π΄ΡˆΠ΅ΠΌΡƒ):Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ m-ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° числа n (n & (1 << (sizeof(n) * 8 - m - 1))).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ n-Ρ‹ΠΉ Π±ΠΈΡ‚: провСряСт, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ n-Ρ‹ΠΉ Π±ΠΈΡ‚ Π² число (n & (1 << m)) != 0.

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ самого ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°: Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ самого ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° Π² числС (n & -n).

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ самого ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°: Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ самого ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° Π² числС (~n & (n + 1)).

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°: Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° Π² числС (n & (n — 1)).

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°: Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° Π² числС (~n & (n + 1)).

n + 1: ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ число n Π½Π° 1 (n + 1).

n — 1: ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ число n Π½Π° 1 (n — 1).

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа (-x).

Если x Ρ€Π°Π²Π½ΠΎ a, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ x Π½Π° b; Ссли x Ρ€Π°Π²Π½ΠΎ b, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ x Π½Π° a: выполняСт Π·Π°ΠΌΠ΅Π½Ρƒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b, Ссли x Ρ€Π°Π²Π½ΠΎ a, ΠΈ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a, Ссли x Ρ€Π°Π²Π½ΠΎ b (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция if-else).

ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ смСТныС Π±ΠΈΡ‚Ρ‹: Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½ значСниями смСТных Π±ΠΈΡ‚ΠΎΠ² Π² числС n (n = ((n & mask << m) >> m | (n & mask << (m + 1)) << 1)).

Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π±ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ числами m ΠΈ n:Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ справа Π±ΠΈΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ числами m ΠΈ n ((m ^ n) & -(m ^ n)).

ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡ€Π°Π²Ρ‹ΠΉ Π±ΠΈΡ‚ чисСл m ΠΈ n: Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ справа Π±ΠΈΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ числами m ΠΈ n (m & n & -m).

ДСсятичныС Π΄Ρ€ΠΎΠ±ΠΈ

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ: использованиС ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ float ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ардуино! ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ float числа Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚ (Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ uint32_t)

ВосстановлСниС числа float ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚

Быстрый ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ числа

Быстрый ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ n-ΠΉ стСпСни Ρ†Π΅Π»ΠΎΠ³ΠΎ числа

БыстроС Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ

Быстрый СстСствСнный Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ

БыстроС вычислСниС экспонСнты

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

ΠŸΡ€ΠΈΠ²Π΅ΡΡ‚ΠΈ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру

ΠŸΡ€ΠΈΠ²Π΅ΡΡ‚ΠΈ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру

Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСгистр

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ Π±ΡƒΠΊΠ²Ρ‹ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ (Π°Π½Π³Π»)

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ большой Π±ΡƒΠΊΠ²Ρ‹ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ (Π°Π½Π³Π»)

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ строчной Π±ΡƒΠΊΠ²Ρ‹ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ (Π°Π½Π³Π»)

Π”Ρ€ΡƒΠ³ΠΎΠ΅

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ прСобразования Ρ†Π²Π΅Ρ‚Π° R5G5B5 Π² R8G8B8

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ большого количСства скобок, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ порядок выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ C++ ΠΎΠ½ Ρ‚Π°ΠΊΠΎΠΉ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

О Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… опСрациях

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ

О Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… опСрациях

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ

Π­Ρ‚ΠΎΡ‚ тСкст ΠΏΡ€ΠΈΠ·Π²Π°Π½ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТными ΠΈ бСсполСзными, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚Π°ΠΊ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ вас ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒ Π² этом.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±ΠΈΡ‚Π°ΠΌΠΈ (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нСпосрСдствСнно Π½Π° Π±ΠΈΡ‚Π°Ρ… числа, поэтому всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΄Π°ΡŽΡ‚ΡΡ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния.

Π’ настоящСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ ΡƒΠΊΡ€Π΅ΠΏΠ»ΡΡŽΡ‚ основы Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ схСмы ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ‚ Π² основС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΉ β€” Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ для описания Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности. НаличиС Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ сути ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Но ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ прСдставлСниСм Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡˆΡŒΡΡ ΠΏΡ€ΠΈ описании ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² high-level-языках.

Помимо ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² рСкомСндуСтся Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ:

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜ (OR)

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π˜Π›Π˜ эквивалСнтна логичСскому Π˜Π›Π˜, Π½ΠΎ примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Π΅ Π±ΠΈΡ‚ΠΎΠ² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа. Разряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 0 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΡ‚Π° Ρ€Π°Π²Π½Ρ‹ 0. Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях разряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 1. Если ΠΌΡ‹ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ истинности:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ

ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π˜Π›Π˜ ΠΊ числам 38 ΠΈ 53 ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

A00100110
B00110101
A B00110111

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И (AND)

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И – это дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π˜Π›Π˜, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ являСтся ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ±Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Ρ€Π°Π²Π½Ρ‹ 1. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ разряды Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ числС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ умноТСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ²: 1Ρ…1 = 1, 1Ρ…0 = 0. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Π°Ρ опСрация И ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ истинности:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выраТСния 38 & 53:

A00100110
B00110101
A ΠΈ B00100100

Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ (XOR)

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для получСния Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ

НапримСр, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выраТСния 138^43 равСн…

A10001010
B00101011
A ^ B10100001

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ^ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…) Π±Π΅Π· использования Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π˜Π›Π˜ ΠΌΠΎΠΆΠ½ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ всСм символам ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ^ с символом-ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π’ случаС Π±ΠΎΠ»Π΅Π΅ слоТного ΡˆΠΈΡ„Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строку символов:

Помимо ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ Π½Π΅ являСтся самым Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ (NOT)

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ отрицания ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π±ΠΈΡ‚Ρ‹ числа. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, всС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ становятся нулями, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 20310

Когда ΠΌΡ‹ примСняСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ отрицания ΠΊ числу, Π·Π½Π°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° всСгда ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π·Π½Π°ΠΊΡƒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа (ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ числами). ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ происходит, составим объяснСниС Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… строках.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

РасскаТСм ΠΎ способС прСдставлСния ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² Π­Π’Πœ с использованиСм Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (two’s complement).Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ числах, записанных Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ разряд являСтся Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌ. Если ΠΎΠ½ Ρ€Π°Π²Π΅Π½ 0, Ρ‚ΠΎ число ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ совпадаСт с прСдставлСниСм этого числа Π² прямом ΠΊΠΎΠ΄Π΅, Π° Ссли 1 — Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ρ‚.Π΅. 10111101 — ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Π° 01000011 — ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Π±ΠΈΡ‚Ρ‹ числа (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅) ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ 1.

НапримСр, Ссли ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ 109:

A01101101
A+110010011

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²Π»Π΅Π²ΠΎ

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ рассмотрСнных Ρ€Π°Π½Π΅Π΅ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠΌ сдвигС Π²Π»Π΅Π²ΠΎ Π±ΠΈΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π½Π° N Π±ΠΈΡ‚ΠΎΠ² Π²Π»Π΅Π²ΠΎ, начиная с младшСго Π±ΠΈΡ‚Π°. ПослС сдвига пустыС мСста Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями. Π­Ρ‚ΠΎ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²ΠΏΡ€Π°Π²ΠΎ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ >> сдвигаСт Π±ΠΈΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство Π±ΠΈΡ‚ΠΎΠ².

Если ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ являСтся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом, Ρ‚ΠΎ пустыС мСста Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями. Если ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом, Ρ‚ΠΎ пустыС мСста слСва Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сохраняСтся Π·Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° согласно Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρ€Π°Π½Π΅Π΅ объяснСн.

Π’Ρ‹Π²ΠΎΠ΄

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… опСрациях, ΠΈ Π²Ρ‹ Π½Π΅ Π±ΠΎΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ потрСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ >>1 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° 2. ВсС ΠΆΠ΅, Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² своСй ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ инструмСнтов, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ смоТСтС Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ ΠΏΡ€ΠΈ нСобходимости ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° слоТный вопрос ΠΏΡ€ΠΈ собСсСдовании.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *