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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° JavaΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 23

Автор Н.А. Вязовик

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ y Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π²Π½ΠΎ Π½Π΅ 2147483648, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΎΠ΅ число Π½Π΅ укладываСтся Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° int, Π° Π² точности Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ x! Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ -x==x истинно!

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ числовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСн Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅, Ρ‚ΠΎ Java Π½Π΅ создаСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ошибок. ВмСсто этого всС ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠ°, просто ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΊ искаТСнию Π΅Π³ΠΎ Π·Π½Π°ΠΊΠ°, Ссли Π½Π° мСстС Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° окаТСтся ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.


int x= 300000;

print(xx);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚:


-194313216


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ числа -2147483648, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ матСматичСский Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ Π² точности +231, ΠΈΠ»ΠΈ, Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, 1000 0000 0000 0000 0000 0000 0000 0000 (Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈ 31 ноль). Но Ρ‚ΠΈΠΏ int рассматриваСт ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΊΠ°ΠΊ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π±ΠΈΡ‚, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ получаСтся Ρ€Π°Π²Π½Ρ‹ΠΌ -2147483648.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, явноС выписываниС Π² ΠΊΠΎΠ΄Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слишком Π²Π΅Π»ΠΈΠΊΠΈ для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС компиляции (см. Π»Π΅ΠΊΡ†ΠΈΡŽ 3). Если ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, "лишниС" Π±ΠΈΡ‚Ρ‹ просто ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ.

ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° -5 Π½Π΅ являСтся цСлочислСнным Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ. На самом Π΄Π΅Π»Π΅ ΠΎΠ½ΠΎ состоит ΠΈΠ· Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° 5 ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° -. Напомним, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 2147483648 ) ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² сочСтании с ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ -.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, числовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Java ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ. Π₯отя цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π»ΠΈΠ½Ρƒ 8, 16, 32 ΠΈ 64 Π±ΠΈΡ‚Π°, вычислСния проводятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с 32-Ρ… ΠΈ 64-Ρ… Π±ΠΈΡ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. А это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ вычислСниями ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ².

Если хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ long, Ρ‚ΠΎ всС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ приводятся ΠΊ этому Ρ‚ΠΈΠΏΡƒ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΈΠΏΠ° long. ВычислСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π² 64 Π±ΠΈΡ‚Π°, Π° Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹, Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ.

Если ΠΆΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° long Π½Π΅Ρ‚, Ρ‚ΠΎ вычислСниС производится с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π² 32 Π±ΠΈΡ‚Π°, ΠΈ всС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² int (это относится ΠΊ byte, short, char ). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ int. ВсС Π±ΠΈΡ‚Ρ‹ ΡΡ‚Π°Ρ€ΡˆΠ΅ 32-Π³ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Никакого способа ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π΅Ρ‚. Π Π°ΡΡˆΠΈΡ€ΠΈΠΌ рассмотрСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


int i=300000;

print(i*i);

// ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ 32 Π±ΠΈΡ‚Π°

long m=i;

print(m*m);

// ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ 64 Π±ΠΈΡ‚Π°

print(1/(m-i));

// ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ

// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ int ΠΈ long


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚:


-194313216

90000000000


Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ дСлСния Π½Π° ноль, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ i ΠΈ m Ρ…ΠΎΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ хранят ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ матСматичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡ… Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π² 32 Π±ΠΈΡ‚Π°, Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½Ρ‹. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ – с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π² 64 Π±ΠΈΡ‚Π°, ΠΎΡ‚Π²Π΅Ρ‚ Π½Π΅ исказился.

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

double x = 1/2;

ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Π° Π½Π΅ 0.5, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ΅, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.5, достаточно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 1./2 (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½).

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, врСмя Π² Java измСряСтся Π² миллисСкундах. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, сколько миллисСкунд содСрТится Π² Π½Π΅Π΄Π΅Π»Π΅ ΠΈ Π² мСсяцС:


print(1000*60*60*24*7);

// вычислСниС для Π½Π΅Π΄Π΅Π»ΠΈ

print(1000*60*60*24*30);

// вычислСниС для мСсяца


НСобходимо ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ количСство миллисСкунд Π² ΠΎΠ΄Π½ΠΎΠΉ сСкундС (1000), сСкунд – Π² ΠΌΠΈΠ½ΡƒΡ‚Π΅ (60), ΠΌΠΈΠ½ΡƒΡ‚ – Π² часС (60), часов – Π² Π΄Π½Π΅ (24) ΠΈ Π΄Π½Π΅ΠΉ β€” Π² Π½Π΅Π΄Π΅Π»Π΅ ΠΈ мСсяцС (7 ΠΈ 30, соотвСтствСнно). ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:


604800000

-1702967296


ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ вычислСнии ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Достаточно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ послСдний Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° long:


print(1000*60*60*24*30L);

// вычислСниС для мСсяца

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


2592000000

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ вычислСния Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° 64-Π±ΠΈΡ‚Π½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Π½Π° послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π° Π·Π°Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСполнСния.

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ большСй Π΄Π»ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ больший спСктр Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Java Π½Π΅ позволяСт ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ мСньшСго Ρ‚ΠΈΠΏΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большСго Ρ‚ΠΈΠΏΠ°. НапримСр, Ρ‚Π°ΠΊΠΈΠ΅ строки Π²Ρ‹Π·ΠΎΠ²ΡƒΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции:


// ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции

int x=1;

byte b=x;


Π₯отя для программиста ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ пСрСмСнная b Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1, Ρ‡Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ укладываСтся Π² Ρ‚ΠΈΠΏ byte, ΠΎΠ΄Π½Π°ΠΊΠΎ компилятор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки, ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ лишь, Ρ‡Ρ‚ΠΎ Π΅Π΅ Ρ‚ΠΈΠΏ – int.

А Π²ΠΎΡ‚ ΠΌΠ΅Π½Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


// ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции

byte b=1;

byte c=b+1;


И здСсь компилятор Π½Π΅ смоТСт ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² Ρ‚ΠΈΠΏ int ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π΅Π³ΠΎ нСльзя Ρ‚Π°ΠΊ просто ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° byte.

Аналогично:


// ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции

int x=2;

long y=3;

int z=x+y;

Π—Π΄Π΅ΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ Ρ‚ΠΈΠΏΠ° long. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π° такая инициализация:


// ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции

byte b=5;

byte c=-b;

Π”Π°ΠΆΠ΅ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ " - " ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ вычислСния с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ мСньшС 32 Π±ΠΈΡ‚.

Π₯отя Π²ΠΎ всСх случаях инициализация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ рассмотрСния Π±Ρ‹Π»ΠΈ числовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ способ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ числового значСния:


byte b=1;

byte c=(byte)-b;

Π˜Ρ‚Π°ΠΊ, всС числовыС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΈΠΏΠ° int ΠΈΠ»ΠΈ long. Однако сущСствуСт Π΄Π²Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… – ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π˜Ρ… дСйствиС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠ· значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, послС Ρ‡Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся Π² этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π΄ΠΎ ΠΈΠ»ΠΈ послС измСнСния, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ прСфиксным ΠΈΠ»ΠΈ постфиксным). А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ Ρ‚ΠΈΠΏ значСния совпадаСт с Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. (На самом Π΄Π΅Π»Π΅, вычислСния всС Ρ€Π°Π²Π½ΠΎ производятся с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 32 Π±ΠΈΡ‚Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈ присвоСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΅Π³ΠΎ Ρ‚ΠΈΠΏ пониТаСтся.)

byte x=5;

byte y1=x++;

// Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° исполнСния x Ρ€Π°Π²Π΅Π½ 5

byte y2=x--;

// Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° исполнСния x Ρ€Π°Π²Π΅Π½ 6

byte y3=++x;

// Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° исполнСния x Ρ€Π°Π²Π΅Π½ 5

byte y4=--x;

// Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° исполнСния x Ρ€Π°Π²Π΅Π½ 6

print(y1);

print(y2);

print(y3);

print(y4);

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:


5

6

6

5

Никаких ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с присвоСниСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ++ ΠΈ -- ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ° byte. Π—Π°Π²Π΅Ρ€ΡˆΠ°Ρ рассмотрСниС этих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


byte x=-128;

print(-x);

byte y=127;

print(++y);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:


128

-128

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ вопросы прСобразования Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ вычислСниях ΠΈ случаи пСрСполнСния.

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ с условиСм ?:. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ‚ΠΎ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°.


byte x=2;

byte y=3;

byte z=(x>y) ? x : y;

// Π²Π΅Ρ€Π½ΠΎ, x ΠΈ y ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°

byte abs=(x>0) ? x : -x;

// Π½Π΅Π²Π΅Ρ€Π½ΠΎ!


ПослСдняя строка Π½Π΅Π²Π΅Ρ€Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ содСрТит Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, стало Π±Ρ‹Ρ‚ΡŒ, Π΅Π³ΠΎ Ρ‚ΠΈΠΏ int, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ Ρ‚ΠΈΠΏ всСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ int, ΠΈ присвоСниС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ byte, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ – short, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΈΠΏΠ° int.

НаконСц, рассмотрим ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ со строкой. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° строковыС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Если ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² являСтся строка, Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ – Ρ†Π΅Π»ΠΎΠ΅ число, Ρ‚ΠΎ число Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² тСкст ΠΈ строки ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡΡ.


int x=1;

print("x="+x);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:


x=1


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


print(1+2+"text");

print("text"+1+2);

Π•Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:


3text

text12


ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚ΠΈΠΏΠΎΠΌ char. ЗначСния этого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² числовых опСрациях:


char c1=10;

char c2='A';

// латинская Π±ΡƒΠΊΠ²Π° A (\u0041, ΠΊΠΎΠ΄ 65)

int i=c1+c2-'B';


ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ i ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 9.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


char c='A';

print(c);

print(c+1);

print("c="+c);

print('c'+'='+с);

Π•Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:


A

66

c=A

225

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ print Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° char, поэтому отобразился символ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ число, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ число появилось Π½Π° экранС. Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈ слоТСнии со строкой Ρ‚ΠΈΠΏ char Π±Ρ‹Π» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² тСкст Π² Π²ΠΈΠ΄Π΅ символа. НаконСц Π² послСднСй строкС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ слоТСниС Ρ‚Ρ€Π΅Ρ… чисСл: 'c' (ΠΊΠΎΠ΄ 99), '=' (ΠΊΠΎΠ΄ 61) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ c (Ρ‚.Π΅. ΠΊΠΎΠ΄ 'A' - 65 ).