ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, которая ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Javascript

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. image loader. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ эту пСсочницу ΠΊΠΎΠ΄Π° с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ ΠΌΠΎΠΈΡ… экспСримСнтов:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΡŽΠ΄Π°:

Π’Ρ‹Π±ΠΎΡ€ подходящСго Ρ‚ΠΈΠΏΠ° изобраТСния

К соТалСнию, изобраТСния содСрТат мноТСство Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π² качСствС Javascript Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ моя пСрвая ΠΌΡ‹ΡΠ»ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: Ρ‡Ρ‚ΠΎ Ссли просто ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ изобраТСния Π² большой ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²Ρ‘Π» мСня ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ΄Π΅Π΅: Ρ‡Ρ‚ΠΎ Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΊΠ°ΠΊ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ строки:

К соТалСнию, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π±Π°ΠΉΡ‚ΠΎΠ² Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ содСрТат Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Но Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: GIF. Π‘Π»ΠΎΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° GIF ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ 47 49 46 38 39 61, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ прСобразуСтся Π² ASCII Π² строку GIF89a β€” Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ допустимоС имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ!

Π’Ρ‹Π±ΠΎΡ€ подходящих Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² изобраТСния

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ нашли Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ изобраТСния, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с допустимого ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ символы Π·Π½Π°ΠΊΠ° равСнства ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ апострофа (backtick). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Π±Π°ΠΉΡ‚Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄ΡƒΡ‚: 3D 09 60 04

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. image loader. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ изобраТСния

Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ GIF Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π±Π°ΠΉΡ‚Π° послС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ изобраТСния. Нам Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ… 3D (Π·Π½Π°ΠΊ равСнства) ΠΈ 60 (ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ апостроф, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ строку). Π’ GIF ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ порядок little endian, поэтому Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ символы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ влияниС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ изобраТСния. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΈ высотой Π² дСсятки тысяч пиксСлСй. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС Π±Π°ΠΉΡ‚Ρ‹ 3D ΠΈ 60 Π² Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Π±Π°ΠΉΡ‚Π°Ρ….

НаимСньший ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ β€” это 09 (символ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ табуляции). Он Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ ΡˆΠΈΡ€ΠΈΠ½Ρƒ изобраТСния 3D 09, Ρ‡Ρ‚ΠΎ Π² little endian Ρ€Π°Π²Π½ΠΎ 2365; Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΠΈΡ€Π΅, Ρ‡Π΅ΠΌ Π±Ρ‹ ΠΌΠ½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Π½ΠΎ всё Ρ€Π°Π²Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.

Для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° высоты ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΡŽΡ‰Π΅Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сторон. Π― Π²Ρ‹Π±Ρ€Π°Π» 04, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ высоту 60 04, ΠΈΠ»ΠΈ 1120 пиксСлСй.

ЗасовываСм Π² Ρ„Π°ΠΉΠ» скрипт

Пока наш исполняСмый GIF ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Он просто присваиваСт глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ GIF89a Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ происходило Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ интСрСсноС! Основная Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ GIF ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для кодирования изобраТСния, поэтому Ссли ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Javascript, Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ сильно искаТённым. Но ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ GIF содСрТит Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Comment Extension. Π­Ρ‚ΠΎ мСсто для хранСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΎΠΌ GIF β€” идСальноС мСсто для нашСй Javascript-Π»ΠΎΠ³ΠΈΠΊΠΈ.

Π­Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² находится сразу послС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠ² GIF. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° любоС содСрТимоС, ΠΌΠΎΠΆΠ½ΠΎ запросто Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ строку GIF89a, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ вСсь Javascript, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ многострочный Π±Π»ΠΎΠΊ коммСнтария, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ изобраТСния Π½Π΅ влияла Π½Π° парсСр Javascript.

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ наш Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Однако сущСствуСт нСбольшоС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: хотя сам Π±Π»ΠΎΠΊ коммСнтария ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любой Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΎΠ½ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠΎΠ², ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… составляСт 255. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π»ΠΈΠ½Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° большой скрипт, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ШСстнадцатСричныС ΠΊΠΎΠ΄Ρ‹ Π² коммСнтариях β€” это Π±Π°ΠΉΡ‚Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ°. Они Π½Π΅ относятся ΠΊ Javascript, Π½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»Π° GIF. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ мСшали ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΊΠΎΠ΄Π°, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π― написал нСбольшой скрипт, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ скрипта ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡ… Π² Ρ„Π°ΠΉΠ» изобраТСния:

ΠŸΠΎΠ΄Ρ‡ΠΈΡ‰Π°Π΅ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ базовая структура, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ изобраТСния Π½Π΅ испортили синтаксис ΠΊΠΎΠ΄Π°. Как Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, Ρ„Π°ΠΉΠ» состоит ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²: Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ выполняСтся присваиваниС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ GIF89a, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” это ΠΊΠΎΠ΄ Π½Π° Javascript, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ с присвоСниСм значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

БорСмся с искаТСниями

Π’ ΠΊΠΎΠ½Ρ†Π΅ Javascript-ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ многострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ изобраТСния Π½Π΅ влияли Π½Π° парсинг Javascript:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. image loader. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ Ρ„Π°ΠΉΠ»

Нам ΠΎΡΡ‚Π°Π»Π°ΡΡŒ послСдняя опСрация β€” Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ Π±Π°ΠΉΡ‚Π°ΠΌΠΈ 00 3B, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Ρ€Π°Π½ΡŒΡˆΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° ΠΈ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ поврСТдСния Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ особо Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹, я просто Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ» ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» однострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ парсингС:

Π£Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π΅ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Refused to execute script from ‘http://localhost:8080/image.gif’ because its MIME type (‘image/gif’) is not executable. [ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ исполнСния скрипта ΠΈΠ· ‘http://localhost:8080/image.gif’, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ MIME-Ρ‚ΠΈΠΏ Π½Π΅ являСтся исполняСмым.]

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ справСдливо Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Β«Π­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, я Π½Π΅ Π±ΡƒΠ΄Ρƒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ!Β». И Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это Π²ΠΏΠΎΠ»Π½Π΅ умСстно. Но ΠΌΡ‹ всё Ρ€Π°Π²Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. РСшСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Для этого я написал нСбольшой сСрвСр, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

Π‘Π΅Π· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ MIME-Ρ‚ΠΈΠΏΠ΅ ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π² контСкстС: ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Π³Π΅ ΠΈΠ»ΠΈ исполняСт ΠΊΠ°ΠΊ Javascript Π² Ρ‚Π΅Π³Π΅

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

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ bmp Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Π‘Ρ‡ΠΈΡ‚Π°ΡŽ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ с Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядит ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π² hex Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. QUmIz. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-QUmIz. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° QUmIz. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

1 ΠΎΡ‚Π²Π΅Ρ‚ 1

Для Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΎΠ±Ρ‰ΠΈΠΌ описаниСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ: BMP.

Если ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ, Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ΄ΡƒΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ сами Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:

ΠžΠ±Ρ‰Π°Ρ структура

Π”Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ BMP состоят ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… основных Π±Π»ΠΎΠΊΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:

По сути, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ описания ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ дальшС, описаниС структуры BITMAPFILEHEADER (которая, собствСнно, ΠΈΠ΄Π΅Ρ‚ с Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π° BMP):

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ваш ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. . ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π’ ΠΏΠΎΠ»Π΅ bfOffBits Π² Ρ„Π°ΠΉΠ»Π΅ записано число 0x36, ΠΈ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 0x36 ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π° подряд ΠΈΠ΄ΡƒΡ‚ значСния FF (совпадСниС? Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ). Π’Ρ€ΠΎΠΉΠΊΠ° Π±Π°ΠΉΡ‚ FF FF FF (8 Π±ΠΈΡ‚ * 3 = 24 Π±ΠΈΡ‚Π° Π½Π° пиксСль) ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ пиксСль Π±Π΅Π»ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, Ρ‚.Π΅. это ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π΅ΡΡ‚ΡŒ искомыС ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ? Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ RGB с 24 Π±ΠΈΡ‚Π°ΠΌΠΈ Π½Π° пиксСль. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ.

Для этого Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ слСдом Π·Π° структурой. А слСдом ΠΈΠ΄Π΅Ρ‚ структура BITMAPINFO, Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий. ВСрсия задаСтся Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±Π°ΠΉΡ‚Π°Ρ…. Бамая дрСвняя вСрсия ΠΈΠΌΠ΅Π»Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ 12 Π±Π°ΠΉΡ‚, Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΡ‚ 40 Π±Π°ΠΉΡ‚ ΠΈ Π²Ρ‹ΡˆΠ΅. Π‘ΡƒΠ΄Π΅ΠΌ для простоты ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ BMP, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ структуры BITMAPINFO Ρƒ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² совпадаСт.

Π˜Ρ‚Π°ΠΊ, Π² структурах BITMAPINFO Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… ΠΏΠΎ порядку ΠΈΠ΄ΡƒΡ‚:

Π‘Π½ΠΎΠ²Π° смотрим Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. PyRmi. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-PyRmi. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° PyRmi. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Как с этим Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ? Π”Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

ПсСвдокод для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ случая:

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ‚ΠΎΠ½ΠΊΠΎΡΡ‚ΡŒ, Ссли Π² ΠΏΠΎΠ»Π΅ biHeight Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Ρ‚ΠΎ строки пиксСлСй Π² Ρ„Π°ΠΉΠ»Π΅ записаны Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС (ΠΎΡ‚ Π½ΠΈΠΆΠ½Π΅ΠΉ строки ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строкС). Если ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ρ‚ΠΎ Π² прямом порядкС.

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

Π”Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π›ΡŽΠ±Π°Ρ информация Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° хранится ΠΈ обрабатываСтся Π² Π²ΠΈΠ΄Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, состоящСго всСго ΠΈΠ· Π΄Π²ΡƒΡ… символов. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ называСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ.

По своСй сути ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° всСм извСстный ΠΊΠΎΠ΄ ΠœΠΎΡ€Π·Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ двумя символами (Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ) ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΆΠ΅ пошли Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дальшС. Π’ Π½ΠΈΡ… Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° хранятся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкстовыС Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΡƒΠ·Ρ‹ΠΊΠ°, изобраТСния ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΈΠ΄Π΅ΠΎ высокой чСткости.

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экран, Π² аудиосистСму ΠΈΠ»ΠΈ распСчатываниСм, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ «ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚» Π΅Π΅ Π² понятный Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ язык. Но Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΠ½Π° хранится ΠΈ обрабатываСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Если Π²Ρ‹ Π½Π΅ программист, Π·Π½Π°Ρ‚ΡŒ систСму использования Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Для понимания ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° достаточно Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с вопросом Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…. Π’ этом Π²Π°ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ прСдлагаСмая ΡΡ‚Π°Ρ‚ΡŒΡ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Π›ΡŽΠ΄ΠΈ для записи тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΡƒΠΊΠ²Ρ‹. Π’ русском языкС ΠΈΡ… 33. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡΠΌΠΈ ΠΈΠ· дСсяти Ρ†ΠΈΡ„Ρ€ (ΠΎΡ‚ 0 Π΄ΠΎ 9) ΠΌΡ‹ записываСм числовыС Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ†Π²Π΅Ρ‚ΠΎΠ². Наши ΡƒΡˆΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Π·Π²ΡƒΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 16 Π΄ΠΎ 20000 Π“Ρ†.

Если Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ этому обоняниС, вкусовыС ΠΈ Ρ‚Π°ΠΊΡ‚ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ощущСния, получится ΠΎΠ³Ρ€ΠΎΠΌΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ наш ΠΌΠΎΠ·Π³.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ тСхничСских срСдств Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ систСму Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

Π›ΡŽΠ΄ΡΠΌ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… состояний: Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ° Π³ΠΎΡ€ΠΈΡ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΅ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ‚ ΠΈ Ρ‚.Π΄. И Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТнСС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΡƒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ситуациях ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· 10 Ρ†Π²Π΅Ρ‚ΠΎΠ². НС говоря ΡƒΠΆΠ΅ ΠΎ 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ², воспринимаСмых Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.

Π’ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с мноТСством простых элСмСнтов, Ρ‡Π΅ΠΌ с нСбольшим количСством слоТных.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ тСхничСскими срСдствами, люди Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π° максимально простой «ΡΠ·Ρ‹ΠΊ», состоящий всСго ΠΈΠ· Π΄Π²ΡƒΡ… «Π±ΡƒΠΊΠ²» – Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ большого количСства Π΄Π²ΡƒΡ… символов, Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ, Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ, Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ ΠΈΠ»ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΆΠ΅ являСтся Π½ΠΈΡ‡Π΅ΠΌ ΠΈΠ½Ρ‹ΠΌ, ΠΊΠ°ΠΊ машиной, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ называСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ процСсс, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ прСвращаСтся Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΡƒΡŽ для людСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, называСтся Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ осущСствляСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ «Π½Π° Π»Π΅Ρ‚Ρƒ» ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·Π²Π½Π΅: Π²Π²ΠΎΠ΄ тСкста ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, запись Π²ΠΈΠ΄Π΅ΠΎ с Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, запись Π·Π²ΡƒΠΊΠ° с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° ΠΈ Ρ‚.Π΄.

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экран, Π² аудиосистСму ΠΈΠ»ΠΈ ΠΆΠ΅ Π΅Π΅ распСчатываниСм, происходит ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс (Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅).

Как осущСствляСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, рассмотрим Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅. Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ… ΠΆΠ΅ символов формируСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ‚Π°ΠΌ хранится.

Π‘ тСхничСской стороны ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ рСализуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ отсутствиСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… свойств (ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ²) Ρƒ ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΉΡˆΠΈΡ… Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… элСмСнтов. Π­Ρ‚ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ:

β€’ фотооптичСскими ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie10. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie10. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie10. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π’Π°ΠΊ, ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ любого оптичСского диска (CD, DVD ΠΈΠ»ΠΈ BluRay) состоит ΠΈΠ· спирали, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Ρ‚Π΅ΠΌΠ½ΠΎΠ³ΠΎ, Π»ΠΈΠ±ΠΎ свСтлого Ρ†Π²Π΅Ρ‚Π°. Диск быстро вращаСтся Π² дисководС. На Π΅Π³ΠΎ ΡΠΏΠΈΡ€Π°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΡ€ΠΎΠΆΠΊΠ΅ фокусируСтся Π»Π°Π·Π΅Ρ€, ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° фотоэлСмСнт. Π’Π΅ΠΌΠ½Ρ‹Π΅ участки спирали ΠΏΠΎΠ³Π»ΠΎΡ‰Π°ΡŽΡ‚ свСт ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ Π΅Π³ΠΎ Π½Π° фотоэлСмСнт, свСтлыС – Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, отраТая свСт, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ фотоэлСмСнту. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ фотоэлСмСнт ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² Π΄ΠΎΡ€ΠΎΠΆΠΊΠ΅ диска Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅ΠΌΠ½Ρ‹Ρ… ΠΈ свСтлых Ρ‚ΠΎΡ‡Π΅ΠΊ.

НапримСр, Π²Π½ΡƒΡ‚Ρ€ΠΈ ТСсткого диска находится быстро Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°ΡΡΡ пластина. Вся Π΅Π΅ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ прСдставляСт собой ΡΠΏΠΈΡ€Π°Π»ΡŒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΌΠ΅Π»ΠΊΠΈΡ… участков. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… являСтся элСмСнтом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… состояний: «Π½Π°ΠΌΠ°Π³Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅», «Π½Π΅Π½Π°ΠΌΠ°Π³Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅». Π­Ρ‚ΠΈ элСмСнты ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ кодируСтся какая-Ρ‚ΠΎ информация. Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ состояния элСмСнтов осущСствляСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ, которая быстро двиТСтся ΠΏΠΎ повСрхности пластины;

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

Π’ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ информация хранится ΠΈ Π²ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… микросхСмах (Ρ„Π»Π΅ΡˆΠΊΠΈ, SSD-носитСли ΠΈ Π΄Ρ€.).

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚ΠΎΠΆΠ΅ Π² Π²ΠΈΠ΄Π΅ элСктричСских ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ².

Иногда ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° записан Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†. Π­Ρ‚ΠΎ слСдствиС нСпонимания тСхничСской стороны вопроса. ΠŸΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… для нас Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅Ρ‚. «Π‘ΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠ»ΠΈ отсутствиС Ρƒ ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΉΡˆΠ΅Π³ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ свойства (см. Π²Ρ‹ΡˆΠ΅).

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ нагляднСС, Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… отсутствиС Ρƒ элСмСнта Ρ‚Π°ΠΊΠΎΠ³ΠΎ свойства лишь условно ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½ΡƒΠ»Π΅ΠΌ, Π° Π΅Π³ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ – Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ. Но с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ успСхом ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ Ρ‚ΠΈΡ€Π΅ ΠΈΠ»ΠΈ крСстиком ΠΈ Π½ΠΎΠ»ΠΈΠΊΠΎΠΌ.

Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° хранится Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ большого количСства элСмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… состояний.

Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΉΡˆΠΈΠΉ элСмСнт, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, называСтся Π±ΠΈΡ‚ΠΎΠΌ.

Π‘ΠΈΡ‚ΠΎΠΌ являСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, каТдая тСмная ΠΈΠ»ΠΈ свСтлая Ρ‚ΠΎΡ‡ΠΊΠ° Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ оптичСского диска, каТдая Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π°Ρ ячСйка ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Ρ‚.Π΄.

Но ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΡ‚ сам ΠΏΠΎ сСбС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ практичСской цСнности. Для кодирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ².

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС содСрТится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚. Π’ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всСго ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… состояний Ρ‡Π΅Π³ΠΎ Π»ΠΈΠ±ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ†ΠΈΡ„Ρ€ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ†Π²Π΅Ρ‚ΠΎΠ². ΠŸΠΎΠ½ΡΡ‚Π½ΠΎΠ΅ Π΄Π΅Π»ΠΎ, Ρ‡Ρ‚ΠΎ практичСская Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ носитСля минимальна.

Π‘Π»ΠΎΠΊ ΠΈΠ· 2 Π±ΠΈΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· 4 состояний:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie1. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie1. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π’ 3-Ρ…Π±ΠΈΡ‚Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· 8 состояний:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie2. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie2. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Ну Π° 8-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°ΠΆ 256 Ρ€Π°Π·Π½Ρ‹Ρ… состояний. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ достаточно сущСствСнная частичка Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ количСства Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

НапримСр, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ 8-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π±ΡƒΠΊΠ²Ρƒ. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π° ΠΈΡ… 256, Π±ΡƒΠ΄Π΅Ρ‚ достаточно для кодирования всСх русских Π±ΡƒΠΊΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ строчныС ΠΈ прописныС ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ всСх Π·Π½Π°ΠΊΠΎΠ² прСпинания. ЗамСняя ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ 8-ΠΌΠΈΠ±ΠΈΡ‚Π½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ, ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ тСкст.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для записи Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± этом ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅).

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, 8-битная ячСйка ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΅Π΅ ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ минимальной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π­Ρ‚Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚.

ВСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ состоят ΠΈΠ· сотСн, тысяч ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ дСсятков тысяч Π±ΡƒΠΊΠ². БоотвСтствСнно, для ΠΈΡ… хранСния Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ сотни, тысячи ΠΈΠ»ΠΈ дСсятки тысяч Π±Π°ΠΉΡ‚ΠΎΠ².

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅ приходится ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ Π½Π΅ с Π±Π°ΠΉΡ‚Π°ΠΌΠΈ, Π° с Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ:

β€’ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°ΠΌΠΈ (1 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ = 1024 Π±Π°ΠΉΡ‚);

β€’ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ (1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ = 1024 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚);

β€’ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ (1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ = 1024 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚);

β€’ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ (1 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ = 1024 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚).

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ числовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ систСмой счислСния, содСрТащСй Π΄Π΅ΡΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€: 0 1 2 3 4 5 6 7 8 9. Π­Ρ‚Π° систСма называСтся дСсятичной.

ΠšΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€, Π² дСсятичной систСмС большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ разряды. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ количСство Ρ‡Π΅Π³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈ дойдя Π΄ΠΎ самой большой ΠΈΠ· доступных Π½Π°ΠΌ Ρ†ΠΈΡ„Ρ€ (Π΄ΠΎ 9), ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ разряд ΠΈ дальшС ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ число Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ†ΠΈΡ„Ρ€. Дойдя Π΄ΠΎ 99, ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ разряд. Π’ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Ρ€Π΅Ρ… разрядов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π΄ΠΎ 999 ΠΈ Ρ‚.Π΄.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всСго Π΄Π΅ΡΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ ΠΈ вводя Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ разряды, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ, Π΄Π°ΠΆΠ΅ самыми большими числами.

БистСма счислСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, называСтся Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ.

ΠŸΡ€ΠΈ подсчСтС Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ разряд приходится Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Π² дСсятичной.

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… дСсяти чисСл Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих систСм счислСния:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie3. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie3. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² дСсятичной систСмС счислСния для отобраТСния любой ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… дСсяти Ρ†ΠΈΡ„Ρ€ достаточно 1 разряда. Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС для Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ†Π΅Π»Π΅ΠΉ потрСбуСтся ΡƒΠΆΠ΅ 4 разряда.

БоотвСтствСнно, для кодирования этой ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½ΡƒΠΆΠ΅Π½ Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 4 Π±ΠΈΡ‚Π° (0,5 Π±Π°ΠΉΡ‚Π°).

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, кодируя числа Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, основываСтся Π½Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. Но, Π² зависимости ΠΎΡ‚ особСнностСй чисСл, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹:

β€’ нСбольшиС Ρ†Π΅Π»Ρ‹Π΅ числа Π±Π΅Π· Π·Π½Π°ΠΊΠ°

Для сохранСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ числа Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, выдСляСтся 1 Π±Π°ΠΉΡ‚ (8 Π±ΠΈΡ‚ΠΎΠ²). Π—Π°ΠΏΠΈΡΡŒ осущСствляСтся Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмой счислСния.

Π¦Π΅Π»Ρ‹Π΅ дСсятичныС числа Π±Π΅Π· Π·Π½Π°ΠΊΠ°, сохранСнныС Π½Π° носитСлС Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie4. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie4. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

β€’ большиС Ρ†Π΅Π»Ρ‹Π΅ числа ΠΈ числа со Π·Π½Π°ΠΊΠΎΠΌ

Для записи ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ числа Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, отводится 2-Π±Π°ΠΉΡ‚Π½ΠΈΠΉ Π±Π»ΠΎΠΊ (16 Π±ΠΈΡ‚ΠΎΠ²).

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π±ΠΈΡ‚ Π±Π»ΠΎΠΊΠ° (Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ слСва) отводится ΠΏΠΎΠ΄ запись Π·Π½Π°ΠΊΠ° числа ΠΈ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ самого числа Π½Π΅ участвуСт. Если число со Π·Π½Π°ΠΊΠΎΠΌ «ΠΏΠ»ΡŽΡ», этот Π±ΠΈΡ‚ остаСтся пустым, Ссли со Π·Π½Π°ΠΊΠΎΠΌ «ΠΌΠΈΠ½ΡƒΡ» – Π² Π½Π΅Π³ΠΎ записываСтся логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°. Число ΠΆΠ΅ кодируСтся Π² ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ 15 Π±ΠΈΡ‚Π°Ρ….

НапримСр, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ кодирования числа +2676 Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

1. ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ число 2676 ΠΈΠ· дСсятичной систСмы счислСния Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ получится 101001110100;

2. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 15 Π±ΠΈΡ‚ 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° (начиная с ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края). ПослСдний, 16-ΠΉ Π±ΠΈΡ‚, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ пустым, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ число ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°ΠΊ +.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ +2676 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie5. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie5. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ присвоСниС числу ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния прСдусматриваСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π°. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π΅Π³ΠΎ Π±ΠΈΡ‚ΠΎΠ².

1. ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ число 2676 ΠΈΠ· дСсятичной систСмы счислСния Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ всС Ρ‚ΠΎΠΆΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число 101001110100;

2. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 15 Π±ΠΈΡ‚ 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· 15 Π±ΠΈΡ‚ΠΎΠ²;

3. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² 16-ΠΉ Π±ΠΈΡ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ число ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie6. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie6. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π—Π°ΠΏΠΈΡΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл Π² ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вычитания, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚, опСрациями слоТСния. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ процСссора.

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ дСсятичным числом, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² 15 Π±ΠΈΡ‚Π°Ρ… Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ устройства, являСтся 32767. Иногда для записи чисСл ΠΏΠΎ этому Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ 4-Π±Π°ΠΉΡ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС для кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ 31 Π±ΠΈΡ‚ плюс 1 Π±ΠΈΡ‚ для кодирования Π·Π½Π°ΠΊΠ° числа. Π’ΠΎΠ³Π΄Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ дСсятичным числом, сохраняСмым Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ячСйку, Π±ΡƒΠ΄Π΅Ρ‚ 2147483647 (со Π·Π½Π°ΠΊΠΎΠΌ плюс ΠΈΠ»ΠΈ минус).

β€’ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа со Π·Π½Π°ΠΊΠΎΠΌ

Π”Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой (Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ). Алгоритм ΠΈΡ… кодирования слоТнСС, Ρ‡Π΅ΠΌ рассмотрСнныС Π²Ρ‹ΡˆΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, попытаСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.

Для записи ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ‡Π°Ρ‰Π΅ всСго выдСляСт 4-Π±Π°ΠΉΡ‚Π½ΡƒΡŽ ячСйку (32 Π±ΠΈΡ‚Π°):

β€’ Π² ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌ Π±ΠΈΡ‚Π΅ этой ячСйки (Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ слСва) записываСтся Π·Π½Π°ΠΊ числа. Если число ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Π² этот Π±ΠΈΡ‚ записываСтся логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Ссли ΠΎΠ½ΠΎ со Π·Π½Π°ΠΊΠΎΠΌ «ΠΏΠ»ΡŽΡ» – Π±ΠΈΡ‚ остаСтся пустым.

β€’ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ слСва Π±ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ записываСтся Π·Π½Π°ΠΊ порядка (Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ порядок ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅);

β€’ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π° Π½ΠΈΠΌ 7 Π±ΠΈΡ‚Π°Ρ… записываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ порядка.

β€’ Π² ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ 23 Π±ΠΈΡ‚Π°Ρ… записываСтся Ρ‚Π°ΠΊ называСмая мантисса числа.

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie7. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie7. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie7. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π§Ρ‚ΠΎΠ±Ρ‹ стало понятно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ порядок, мантисса ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹, ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅ΠΌ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ дСсятичноС число 6,25.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ кодирования Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

1. ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ дСсятичноС число Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ (дСсятичноС 6,25 Ρ€Π°Π²Π½ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ 110,01);

3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°ΠΊ порядка.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ порядка – это количСство символов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»Π° сдвинута запятая для получСния мантиссы. Π’ нашСм случаС ΠΎΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ 3 (ΠΈΠ»ΠΈ 11 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅);

Π—Π½Π°ΠΊ порядка – это Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ: Π²Π»Π΅Π²ΠΎ – «ΠΏΠ»ΡŽΡ», Π²ΠΏΡ€Π°Π²ΠΎ – «ΠΌΠΈΠ½ΡƒΡ». Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ запятая двигалась Π²Π»Π΅Π²ΠΎ, поэтому Π·Π½Π°ΠΊ порядка – «ΠΏΠ»ΡŽΡ»;

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie8. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie8. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie8. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ мантисса Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ записываСтся, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ послС запятой Π·Π½Π°ΠΊΠ°, Π° сама запятая упускаСтся.

Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π² 32 Π±ΠΈΡ‚Π°Ρ…, Π½Π°Π·Ρ‹Π²Π°ΡŽ числами ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности.

Когда для записи числа 32-Π±ΠΈΡ‚Π½ΠΎΠΉ ячСйки нСдостаточно, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ячСйку ΠΈΠ· 64 Π±ΠΈΡ‚ΠΎΠ². Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² Ρ‚Π°ΠΊΠΎΠΉ ячСйкС, называСтся числом Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности.

Π”Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

БущСствуСт нСсколько общСпринятых стандартов кодирования тСкста Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.

Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ «ΡΡ‚Π°Ρ€Ρ‹Ρ…» (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π΅Ρ‰Π΅ Π² 1960-Ρ… Π³Π³.) являСтся стандарт ASCII (ΠΎΡ‚ Π°Π½Π³Π». American Standard Code for Information Interchange). Π­Ρ‚ΠΎ 7-Π±ΠΈΡ‚Π½Ρ‹ΠΉ стандарт кодирования. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ записываСт ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊ Π² ΠΎΠ΄Π½Ρƒ 7-Π±ΠΈΡ‚Π½ΡƒΡŽ ячСйку Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ устройства.

Как извСстно, ячСйка ΠΈΠ· 7 Π±ΠΈΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ 128 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… состояний. БоотвСтствСнно, Π² стандартС ASCII ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· этих 128 состояний соотвСтствуСт какая-Ρ‚ΠΎ Π±ΡƒΠΊΠ²Π°, Π·Π½Π°ΠΊ прСпинания ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ 7-Π±ΠΈΡ‚Π½Ρ‹ΠΉ стандарт кодирования являСтся слишком «Ρ‚Π΅ΡΠ½Ρ‹ΠΌ». Π’ 128 состояниях, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… 7-Π±ΠΈΡ‚Π½ΠΎΠΉ ячСйкой, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ всСх ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΌΠΈΡ€Π΅ ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ.

Π’ΠΎΡΡŒΠΌΠΈΠ±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, распространСнными Π² нашСй странС, ΡΠ²Π»ΡΡŽΡ‚ΡΡ KOI8, UTF8, Windows-1251 ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ стандарты кодирования тСкста (Unicode), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π±ΡƒΠΊΠ²Ρ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языков. Π’ Π½ΠΈΡ… для записи ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ 16 Π±ΠΈΡ‚ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ большС.

БущСствованиС большого количСства ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ тСкста являСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΡƒΠΆΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»ΠΈΡΡŒ с ситуациСй, ΠΊΠΎΠ³Π΄Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° экранС вмСсто Π±ΡƒΠΊΠ² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ нСпонятныС «ΠΊΡ€Π°ΠΊΠΎΠ·ΡΠ±Ρ€Ρ‹». Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ½ΠΎΠ³Π΄Π° «ΠΎΡˆΠΈΠ±Π°Π΅Ρ‚ся» ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎ опрСдСляСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ этот тСкст хранится Π² Π΅Π³ΠΎ памяти.

Π’ пСрспСктивС, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ принят Π΅Π΄ΠΈΠ½Ρ‹ΠΉ стандарт кодирования тСкста, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ постСпСнно ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΡƒΡ‚ всС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, нСзависимо ΠΎΡ‚ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Но ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ это, судя ΠΏΠΎ всСму, Π½Π΅ скоро.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ, Π΅Π΅ сначала Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽ Π½Π° мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… пиксСлями (Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠΈ ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ).

ПослС Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΈ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ†Π²Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля кодируСтся Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ записываСтся Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС.

Если говорят, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния составляСт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 512 Ρ… 512 Ρ‚ΠΎΡ‡Π΅ΠΊ, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ прСдставляСт собой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ· 262144 пиксСлСй (количСство пиксСлСй ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° количСство пиксСлСй ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ).

ΠŸΡ€ΠΈΠ±ΠΎΡ€ΠΎΠΌ, «Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ» изобраТСния Π½Π° пиксСли, являСтся любая соврСмСнная Ρ„ΠΎΡ‚ΠΎΠΊΠ°ΠΌΠ΅Ρ€Π° (Π² Ρ‚ΠΎΠΌ числС Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Π°, ΠΊΠ°ΠΌΠ΅Ρ€Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°) ΠΈΠ»ΠΈ сканСр.

Π§Π΅ΠΌ Π½Π° большСС количСство пиксСлСй Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π΅ΠΌ рСалистичнСС выглядит фотография Π² Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ ΠΈΠ»ΠΈ послС распСчатывания).

Однако качСство кодирования Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ зависит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ количСства пиксСлСй, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΎΡ‚ ΠΈΡ… Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ разнообразия.

Алгоритмов записи Ρ†Π²Π΅Ρ‚Π° Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ сущСствуСт нСсколько. Π‘Π°ΠΌΡ‹ΠΌ распространСнным ΠΈΠ· Π½ΠΈΡ… являСтся RGB. Π­Ρ‚Π° Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° – ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ‚Ρ€Π΅Ρ… основных Ρ†Π²Π΅Ρ‚ΠΎΠ²: красного – Π°Π½Π³Π».Red, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ – Π°Π½Π³Π». Green, синСго – Π°Π½Π³Π». Blue.

Из ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ² рисования, Π’Π°ΠΌ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, извСстно, Ρ‡Ρ‚ΠΎ смСшивая эти Ρ‚Ρ€ΠΈ Ρ†Π²Π΅Ρ‚Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… пропорциях, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†Π²Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ.

На этом ΠΈ построСн Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RGB. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ пиксСль записываСтся Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡƒΡ‚Π΅ΠΌ указания количСства красного, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ синСго Ρ†Π²Π΅Ρ‚Π°, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π² Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π§Π΅ΠΌ большС Π±ΠΈΡ‚ΠΎΠ² выдСляСтся для кодирования пиксСля, Ρ‚Π΅ΠΌ большС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² смСшивания этих Ρ‚Ρ€Π΅Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ цвСтовая Π½Π°ΡΡ‹Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ изобраТСния.

Π¦Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ пиксСлСй, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, называСтся Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Ρ†Π²Π΅Ρ‚Π°.

Если для кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ изобраТСния выдСляСтся 8 Π±ΠΈΡ‚ΠΎΠ² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ составит 256 Ρ†Π²Π΅Ρ‚ΠΎΠ².

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, часто встрСчаСтся ΠΈ Ρ‚Π°ΠΊ называСмая 32-битная Π³Π»ΡƒΠ±ΠΈΠ½Π° Ρ†Π²Π΅Ρ‚Π°. Она Π½Π΅ прСдусматриваСт ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ². Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹, выдСляСмыС для кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для рСгулирования стСпСни Π΅Π³ΠΎ прозрачности ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

Описанная Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° формирования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΌΠ΅Π»ΠΊΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнной ΠΈ называСтся растровой. Но ΠΊΡ€ΠΎΠΌΠ΅ растровой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Ρ‰Π΅ ΠΈ Ρ‚Π°ΠΊ называСмая вСкторная Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

Π’Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ изобраТСния ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (Ρ„ΠΎΡ‚ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ этого Π΄Π΅Π»Π°Ρ‚ΡŒ «Π½Π΅ ΡƒΠΌΠ΅ΡŽΡ‚») ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅ ΠΈΠ· пиксСлСй, Π° ΠΈΠ· графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² (Π»ΠΈΠ½ΠΈΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², окруТностСй ΠΈ Π΄Ρ€.).

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° вСкторная Π³Ρ€Π°Ρ„ΠΈΠΊΠ°? Π’ извСстной дСтской пСсСнкС поСтся, Ρ‡Ρ‚ΠΎ для изобраТСния «Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ°» достаточно Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ всСго Π΄Π²Π΅ «ΠΏΠ°Π»ΠΊΠΈ» ΠΈ «ΠΎΠ³ΡƒΡ€Π΅Ρ‡Π΅ΠΊ». А ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, насколько Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ° ΠΈΠ· большого числа Ρ‚ΠΎΡ‡Π΅ΠΊ.

Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ записываСтся ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Ρ†Π²Π΅Ρ‚Π° Π·Π°Π»ΠΈΠ²ΠΊΠΈ, мСста располоТСния Π½Π° холстС ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… свойств.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡ€ΡƒΠ³Π°, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ достаточно Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ), ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΅Π³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π° Π½Π° холстС, Π΄Π»ΠΈΠ½Ρƒ радиуса, Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ ΠΈ Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈ, Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ.

Π’ растровой систСмС ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля. И Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния большой, для Π΅Π³ΠΎ хранСния понадобилось Π±Ρ‹ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС мСста Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ устройствС.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ способ кодирования Π½Π΅ позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ рСалистичныС Ρ„ΠΎΡ‚ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ всС Ρ„ΠΎΡ‚ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ растровой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Рядовому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ Π² повсСднСвной ΠΆΠΈΠ·Π½ΠΈ приходится Π½Π΅ часто.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π›ΡŽΠ±ΠΎΠΉ Π·Π²ΡƒΠΊ, ΡΠ»Ρ‹ΡˆΠΈΠΌΡ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, являСтся ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π΄ΡƒΡ…Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ характСризируСтся двумя основными показатСлями: частотой ΠΈ Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄ΠΎΠΉ.

Если графичСски ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ Π²ΠΎΠ»Π½Ρƒ, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie13. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie13. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie13. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π‘Ρ…Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° со Π·Π²ΡƒΠΊΠΎΠΌ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ.

ΠœΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ колСбания Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ характСристикам элСктричСскиС колСбания.

Π”ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ акустичСской систСмы ΠΈΠ»ΠΈ Π½Π°ΡƒΡˆΠ½ΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Ρƒ дСйствиС. Они ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ элСктричСскиС колСбания Π² колСбания Π²ΠΎΠ·Π΄ΡƒΡ…Π°.

Но ΠΊΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ звуковая ΠΊΠ°Ρ€Ρ‚Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ элСктричСскиС колСбания Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄?

Если Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° графичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ»Π½Ρ‹ ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π²ΡƒΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ отклонСния ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния).

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie14. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie14. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie14. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Π—Π½Π°Ρ‡ΠΈΡ‚ Ссли вСсь ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ длится Π·Π²ΡƒΠΊ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ малСнькиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ участки, Ρ‚ΠΎ Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ Π²ΠΎΠ»Π½Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ интСнсивности Π·Π²ΡƒΠΊΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ участкС.

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie15. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie15. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie15. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

Но частота «Π΄Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΡ» Π·Π²ΡƒΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ достаточно высокой, ΠΈΠ½Π°Ρ‡Π΅ значСния участков Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ Π²ΠΎΠ»Π½Ρ‹. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ слишком Π½ΠΈΠ·ΠΊΠΎΠΉ частоты дроблСния.

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. dvoichnoe kodirovanie16. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄-dvoichnoe kodirovanie16. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ изобраТСния Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dvoichnoe kodirovanie16. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ„Π°ΠΉΠ» Javascript ΠΏΠΎ сути являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом. Оба Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ собствСнным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ: изобраТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Javascript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ синтаксису. Π― задался вопросом: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» изобраТСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ допустимым синтаксисом Javascript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ?

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ раздСлСния Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»Π½Ρ‹ Π½Π° ΠΌΠ΅Π»ΠΊΠΈΠ΅ участки ΠΈ Π»Π΅ΠΆΠΈΡ‚ Π² основС Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ кодирования Π·Π²ΡƒΠΊΠ°.

Аудиокарта ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° раздСляСт Π·Π²ΡƒΠΊ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ участки ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ интСнсивности ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’Π°ΠΊΠΎΠ΅ «Π΄Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΠ΅» Π·Π²ΡƒΠΊΠ° Π½Π° части называСтся дискрСтизациСй. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ частота дискрСтизации, Ρ‚Π΅ΠΌ Ρ‚ΠΎΡ‡Π½Π΅Π΅ фиксируСтся гСомСтрия Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»Π½Ρ‹ ΠΈ Ρ‚Π΅ΠΌ качСствСннСй получаСтся запись.

Π’Π°ΠΊ, простая Ρ€Π΅Ρ‡ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, диктофонная запись) Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ воспринимаСтся Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Ссли частота дискрСтизации ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±Ρ‹Π»Π° Π½Π΅ Π½ΠΈΠΆΠ΅ 8000 Π“Ρ† (8 ΠšΠ“Ρ†). Π’ΠΎ Π΅ΡΡ‚ΡŒ, каТдая сСкунда Ρ‚Π°ΠΊΠΎΠΉ записи Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈΠ· 8000 частСй.

ΠœΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΆΠ΅ произвСдСния, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ частоту дискрСтизации. ΠŸΡ€ΠΈ записи стандартных Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… CD ΠΎΠ½Π° составляСт ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 44,1 ΠšΠ“Ρ† (44100 Π“Ρ†).

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ записи сильно зависит Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ количСства Π±ΠΈΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ для кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участка Π·Π²ΡƒΠΊΠ°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ дискрСтизации.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ для кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ участка ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 8 Π±ΠΈΡ‚ΠΎΠ². Как извСстно, 8-битная ячСйка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· 256 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Но Π²Π΄Ρ€ΡƒΠ³ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ интСнсивности участков, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ дискрСтизации ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π·Π²ΡƒΠΊΠ°, оказалось Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 512 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²). Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ «ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚» ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ участков Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… доступных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‡Ρ‚ΠΎΠ±Ρ‹ «ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ» Π² 256 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈ качСство записи получится Π½ΠΈΠ·ΠΊΠΈΠΌ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участка Π·Π²ΡƒΠΊΠ°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ дискрСтизации, называСтся Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Π·Π²ΡƒΠΊΠ°.

Π“Π»ΡƒΠ±ΠΈΠ½Ρ‹ Π·Π²ΡƒΠΊΠ° Π² 8-Π±ΠΈΡ‚ΠΎΠ² достаточно для кодирования простой Ρ€Π΅Ρ‡ΠΈ. Но ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ произвСдСния с Ρ‚Π°ΠΊΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π²ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ 16, 24 ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ 32 Π±ΠΈΡ‚Π°.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС устройства, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для воспроизвСдСния «Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ» Π·Π²ΡƒΠΊΠ°, ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ с высокой частотой дискрСтизации ΠΈ/ΠΈΠ»ΠΈ большой Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Π·Π²ΡƒΠΊΠ°. Π’Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ «Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ» Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ (Ссли звуковая ΠΊΠ°Ρ€Ρ‚Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ дискрСтизации ΠΈΠ»ΠΈ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ Π·Π²ΡƒΠΊΠ°).

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ кодирования Π²ΠΈΠ΄Π΅ΠΎ

Π’ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΡŒ состоит ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²: Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΈ графичСского.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»Π° Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ осущСствляСтся ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (см. ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚).

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ кодирования видСоизобраТСния схоТи с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ растровой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (рассмотрСно Π²Ρ‹ΡˆΠ΅), хотя ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности.

Учитывая эту ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кодирования Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ запись лишь ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ (Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ) ΠΊΠ°Π΄Ρ€Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°Π΄Ρ€ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ записи Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ.

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

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

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