Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ Π‘ΠΈ - руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 10

Автор M. УЭИВ

     Π’Ρ‚ΠΎΡ€ΠΎΠΉ: Ρ†Π΅Π»ΠΎΠ΅, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ с символом 0Ρ… ΠΈΠ»ΠΈ 0Π₯ интСрпрСтируСтся ΠΊΠ°ΠΊ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число, Ρ‚. Π΅. число, записываСмоС ΠΏΠΎ основанию 16. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ запись 0Ρ…20 прСдставляСт собой ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа 16, ΠΈΠ»ΠΈ 32.

     Π’ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ числа Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ популярны срСди программистов. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 8 ΠΈ 16 ΡΠ²Π»ΡΡŽΡ‚ΡΡ стСпСнями числa 2, Π° 10 - Π½Π΅Ρ‚, использованиС этих систСм счислСния ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° машинС являСтся Π²ΠΏΠΎΠ»Π½Π΅ СстСствСнным. НапримСр, число 65536, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° 16-разрядных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ записи ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ 10000. Если Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… числах, Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π–.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°

     ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ "ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ" ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ присваиваниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НиТС приводятся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

erns = 1024;

stops = -3;

johns = 12345678;

Если Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ описания. НапримСр:

int hogs = 23;

int cows = 32, goats = 14;

short dogs, cats = 92;

     Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² послСднСй строкС Π±Ρ‹Π»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пСрСмСнная cats. ΠŸΡ€ΠΈ Π½Π΅Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ пСрСмСнная dogs Ρ‚ΠΎΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 92, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ смСшивания ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ описания.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

     ΠšΠ°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° со Π·Π½Π°ΠΊΠΎΠΌ Π»ΡƒΡ‡ΡˆΠ΅ всСго использо Π²Π°Ρ‚ΡŒ? Одной ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ ввСдСния Π² язык Ρ‚Ρ€Π΅Ρ… классов Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ согласования Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с трСбованиями Π·Π°Π΄Π°Ρ‡ΠΈ. НапримСр, Ссли пСрСмСнная Ρ‚ΠΈΠΏΠ° int Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ слово, Π° пСрСмСнная Ρ‚ΠΈΠΏΠ° long - Π΄Π²Π°, Ρ‚ΠΎ Ρ‚ΠΈΠΏ long позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ большиС числа. Если Π² вашСй Π·Π°Π΄Π°Ρ‡Π΅ Ρ‚Π°ΠΊΠΈΠ΅ большиС числа Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‚ΠΎ Π½Π΅Π·Π°Ρ‡Π΅ΠΌ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° long, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, Ссли вмСсто числа, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎ слово памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ число, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅ Π΄Π²Π° слова, Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹ замСдляСтся. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ввСдСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° long Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ зависит ΠΎΡ‚ вашСй Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° int Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ большС памяти, Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° long Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ Π΅Ρ‰Π΅ Ρ€Π°Π· Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° int.

Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Π² процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… появляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ Π²Π½Π΅ Ρ‚ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° чисСл, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ соотвСтствуСт Π΄Π°Π½Π½Ρ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ? Π”Π°Π²Π°ΠΉΡ‚Π΅ присвоим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° наибольшСС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ слоТСния ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚

/* ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ */

main( )

{

   int i = 32767,

   printf( %d  %d  %d\n , i, i+l, i+2),

}

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Π½Π° нашСй Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмС

3

     Π¦Π΅Π»Π°Ρ пСрСмСнная i Π²Π΅Π΄Π΅Ρ‚ сСбя здСсь ΠΊΠ°ΠΊ ΠΎΠ΄ΠΎΠΌΠ΅Ρ‚Ρ€2)  Π² машинС. Когда Π΅Π³ΠΎ показания Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ максимума, данная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° "сбрасываСтся", ΠΈ всС начинаСтся сначала. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ показания ΠΎΠ΄ΠΎΠΌΠ΅Ρ‚Ρ€Π° растут, начиная с нуля, Π° значСния нашСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° int - с Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ - 32768.

     Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом Π²Π°ΠΌ Π½Π΅ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная i прСвысила максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Для рСгистрации ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… событий Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства.

     ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ нСпосрСдствСнно ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» языка Π‘ΠΈ, Π° являСтся довольно распространСнным способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… unsigned

     ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ слуТит ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π½Π΅Π΅ описанных Ρ‚ΠΈΠΏΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ комбинация ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов unsigned int ΠΈΠ»ΠΈ unsigned long ΠΊΠ°ΠΊ обозначСния Ρ‚ΠΈΠΏΠΎΠ². Для указания Ρ‚ΠΈΠΏΠ° unsigned int достаточно привСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово unsigned. НСкоторыС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° unsigned long; ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ микропроцСссоров Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… unsigned - ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

     Π¦Π΅Π»Ρ‹Π΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ константы Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ константы, с Ρ‚Π΅ΠΌ лишь ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ использованиС Π·Π½Π°ΠΊΠ° - Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ.

     Π¦Π΅Π»Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это дСлаСтся Π² случаС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

unsigned int students;

unsigned players;

unsigned short ribs = 6;

     ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ станСт ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами, Π²Ρ‹ смоТСтС Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ большиС значСния, Ρ‡Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ эквивалСнтного Ρ‚ΠΈΠΏΠ° со Π·Π½Π°ΠΊΠΎΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это примСняСтся ΠΏΡ€ΠΈ адрСсации памяти ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ счСтчиков.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… char

     Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ опрСдСляСт Ρ†Π΅Π»Ρ‹Π΅ числа Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 255. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ размСщаСтся Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ памяти. Π’ машинС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° чисСл Π² символы ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² это ΠΊΠΎΠ΄ ASCII, описанный Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Ρ„ΠΈΡ€ΠΌΡ‹ IBM (Π½ΠΎ Π½Π΅ IBM PC) примСняСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ EBCDIC. На протяТСнии всСй ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ASCII ΠΈ, провСдя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π±ΡƒΠ΄Π΅ΠΌ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ.

ОписаниС ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

     Π”ля описания символьной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ примСняСтся ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово char. ΠŸΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ описания Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… основных Ρ‚ΠΈΠΏΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ строки, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅, ΡΠ²Π»ΡΡŽΡ‚ΡΡ допустимыми ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.

char response;

char intable, latan;

char isma = ' S ';

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы

     Π’ языкС Π‘ΠΈ символы Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² апострофы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ присваиваСм ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ broiled Ρ‚ΠΈΠΏΠ° char, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ

broiled = ' Π’ ';  /* ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž */,

Π° Π½Π΅

broiled = Π’;  /* ΠΠ•ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž */

     Π•сли апострофы ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, компилятор "считаСт", Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π’, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π±Ρ‹Π»ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ.

     Π’ стандартС языка Π‘ΠΈ принято ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ значСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ константы Ρ‚ΠΈΠΏΠ° char ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ символы. Π’ соотвСтствии с этим ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², указанная Π½ΠΈΠΆΠ΅, являСтся нСдопустимой, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΌ дСлаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ bovine Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, состоящСС ΠΈΠ· Π΄Π²ΡƒΡ… символов:

ehar bovine;

bovine = ' ox ';  /*ΠΠ•ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž */

     Π•сли Π²Ρ‹ посмотритС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΊΠΎΠ΄Π° ASCII, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· "символов" Π² Π½Π΅ΠΉ Π½Π΅ выводятся Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ. НапримСр, ΠΏΡ€ΠΈ использовании Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ символа Π½ΠΎΠΌΠ΅Ρ€ 7 Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ·Π΄Π°Π΅Ρ‚ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал. Но ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅? Π’ языкС Π‘ΠΈ для этого ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π° способа.

     Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ способС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сам ΠΊΠΎΠ΄ ASCII. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ символа вмСстС с ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ "обратная косая Ρ‡Π΅Ρ€Ρ‚Π°". ΠœΡ‹ ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Π»ΠΈ это Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ "Π·ΠΎΠ»ΠΎΡ‚ΠΎΠΉ эквивалСнт". Π’ΠΎΡ‚ эта строка

beep = ' \007 ';

     Π—Π΄Π΅ΡΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π° Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Ρ‡Π΅Ρ‚Π»ΠΈΠ²ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ - это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°ΠΊΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² апострофы Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ это дСлаСтся с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ символом. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ - Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠΌΠ΅Ρ€ символа Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ записан Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠŸΡ€ΠΈ записи ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π½Π°ΠΊΠΎΠ² ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ случайно ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΡƒΠ»ΠΈ Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… позициях; Π² этом случаС для прСдставлСния ΠΊΠΎΠ΄Π° "сигнал" ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ '\07' ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ '\7'. Но Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ опускайтС Π² записи послСдниС Π½ΡƒΠ»ΠΈ! ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов '\020' ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ '\20', Π½ΠΎ Π½Π΅ '\02'.

     ΠŸΡ€ΠΈ использовании ΠΊΠΎΠ΄Π° ASCII Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ числами ΠΈ символами, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ числа. НапримСр, символу "4" соотвСтствуСт ΠΊΠΎΠ΄ ASCII, Ρ€Π°Π²Π½Ρ‹ΠΉ 52. Π­Ρ‚ΠΎ символ "4" Π° Π½Π΅ число 4.

  


                                                          РИБ. 3. 4. Π€ΠΎΡ€ΠΌΡ‹ записи констант Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²