ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° char - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠ°Π»ΡΠ΅ ΡΠ΅Π»ΡΠ΅, ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ , ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ atoi, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡ Π² Π΅Π΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ.
/* atoi: ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ s Π² ΡΠ΅Π»ΠΎΠ΅ */
int atoi(char s[])
{
int i, n;
n = 0;
for (i = 0; s[i] βΊ= '0' && s[i] βΉ= '9'; ++i)
n = 10 * n + (s[i] - '0');
return n;
}
ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ Π² Π³Π»Π°Π²Π΅ 1, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
s[i] -'0'
Π΄Π°Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² s[i], ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ '0', '1' ΠΈ ΠΏΡ. ΠΎΠ±ΡΠ°Π·ΡΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ char ΠΊ int ΡΠ²ΡΠ·Π°Π½ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ lower, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ASCII, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π² ΡΡΡΠΎΡΠ½ΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ, lower Π΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ.
/* lower: ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ c Π² ΡΡΡΠΎΡΠ½ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ASCII */
int lower(int c)
{
if (c βΊ= 'A' && c βΉ='Z')
return c +'a'-'A';
else
return c;
}
Π ΡΠ»ΡΡΠ°Π΅ ASCII ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² - ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ (Π΅ΡΠ»ΠΈ ΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΉ Π°Π»ΡΠ°Π²ΠΈΡ - ΠΏΠ»ΠΎΡΠ½ΡΠΉ, Ρ. Π΅. ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΊΠ²Π°ΠΌΠΈ A ΠΈ Z ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ²Ρ. ΠΠ»Ρ Π½Π°Π±ΠΎΡΠ° EBCDIC ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ²Ρ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» βΉctype.hβΊ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ B, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ tolower(c) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±ΡΠΊΠ²Ρ c Π² ΠΊΠΎΠ΄Π΅ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ»Π° Π² ΠΊΠΎΠ΄Π΅ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ tolower - ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ lower, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ
c βΊ= '0' && c βΉ= '9'
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° isdigit(c)
ΠΠ°Π»Π΅Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈΠ· βΉctype.hβΊ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½Π° ΡΠΎΠ½ΠΊΠΎΡΡΡ, ΠΊΠ°ΡΠ°ΡΡΠ°ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°: ΡΠ·ΡΠΊ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° char Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ. ΠΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ char Π² int ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΠΎΠ³Π΄Π°- Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅? ΠΠ° ΠΌΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°Π·Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΎΡΠ²Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° char Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ ΡΡΠ°ΡΡΠΈΠΌ Π±ΠΈΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΎ Π² ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ (ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ "ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΠΊΠ°"). ΠΠ° Π΄ΡΡΠ³ΠΈΡ - ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ char Π² int ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΡΠ»Π΅ΠΉ ΡΠ»Π΅Π²Π°, ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ. ΠΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π²ΠΎΡΡΠΌΠΈΠ±ΠΈΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° char Π½Π° ΠΎΠ΄Π½ΠΈΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, Π° Π½Π° Π΄ΡΡΠ³ΠΈΡ - ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° char, Π² ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π΅ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²Π½ΠΎ ΠΊΠ°ΠΊ signed ΠΈΠ»ΠΈ unsigned.
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ i βΊ j ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΠΆΠ°Π΅ΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ amp;& ΠΈ ||, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΠΈ 0, Π΅ΡΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅
d = c βΊ= '0' && c βΉ= '9'
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ d Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, Π΅ΡΠ»ΠΈ c Π΅ΡΡΡ ΡΠΈΡΡΠ°, ΠΈ 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ isdigit, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ Π²ΡΠ΄Π°Π²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΠΌΠ΅ΡΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π²Π½ΡΡΡΠΈ if, while, for ΠΈ ΠΏΡ. "ΠΈΡΡΠΈΠ½Π°" ΠΏΡΠΎΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ "Π½Π΅ Π½ΡΠ»Ρ".
ΠΠ΅ΡΠ²Π½ΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠΎΠ΄Π΅ + ΠΈΠ»ΠΈ * Ρ Π΄Π²ΡΠΌΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ (Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ) ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°ΡΠ½Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, "Π½ΠΈΠ·ΡΠΈΠΉ" ΡΠΈΠΏ ΠΏΠΎΠ²ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ "Π²ΡΡΡΠ΅Π³ΠΎ". Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΈΠΉ ΡΠΈΠΏ. Π ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ 6 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ A ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΎΡΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Ρ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»:
Β· ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΈΠΏΡ long double, ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ long double.
Β· Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΈΠΏΡ double, ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ double.
Β· Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΈΠΏΡ float, ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ float.
Β· Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ ΡΠΈΠΏΠΎΠ² char ΠΈ short ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ int.
Β· Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΡΠΈΠΏΠ° long, ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ long.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ ΡΠΈΠΏΠ° float Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊ ΡΠΈΠΏΡ double; Π² ΡΡΠΎΠΌ Π΄Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ βΉmath.hβΊ, Π±Π°Π·ΠΈΡΡΡΡΡΡ Π½Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ float ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠ°ΡΡΠΎ - Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΠ° Π½Π° ΡΠ΅Ρ ΠΌΠ°ΡΠΈΠ½Π°Ρ , Π³Π΄Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΠΎΠ³Π° Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡΡΡ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΡΠΈΠΏΠ° unsigned. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π·Π½Π°ΠΊΠΎΠ²ΡΡ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° int Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 16 Π±ΠΈΡΠΎΠ², Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° long - 32 Π±ΠΈΡΠ°. Π’ΠΎΠ³Π΄Π° -1L βΉ 1U, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ 1U ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΈΠΏΡ unsigned int ΠΈ ΠΏΠΎΠ²ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠΈΠΏΠ° signed long. ΠΠΎ -1L βΊ1UL, ΡΠ°ΠΊ ΠΊΠ°ΠΊ -1L ΠΏΠΎΠ²ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠΈΠΏΠ° unsigned long ΠΈ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡΡ : Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π’ΠΈΠΏ char ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² int ΠΏΡΡΠ΅ΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
Π’ΠΈΠΏ long int ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² short int ΠΈΠ»ΠΈ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° char ΠΏΡΡΠ΅ΠΌ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈΡ ΡΠ°Π·ΡΡΠ΄ΠΎΠ². Π’Π°ΠΊ, Π²
int i;
char c;
i = c;
c = i;
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ c Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ. ΠΡΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ char Π² int ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ x ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΈΠΏΡ float, Π° i - ΡΠΈΠΏΡ int, ΡΠΎ ΠΈ x=i, ΠΈ i=z Π²ΡΠ·ΠΎΠ²ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ float Π² int ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΡΠ»ΠΈ double ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ float, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ΅Π·Π°Π΅ΡΡΡ; ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ°. ΠΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° (ΡΡΠ½ΠΊΡΠΈΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΈΠ½Π° char ΠΈ short ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ Π² int, a float - Π² double. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° int ΠΈΠ»ΠΈ double Π΄Π°ΠΆΠ΅ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° char ΠΈΠ»ΠΈ float.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ("Π½Π°ΡΠΈΠ»ΡΠ½ΠΎ") ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΠΈΠΏΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΠΈΠ΄Π°
(ΠΈΠΌΡ-ΡΠΈΠΏΠ°) Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΈΠΏΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ. Π‘ΠΌΡΡΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠ°ΠΊ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΈ ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ sqrt ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° double ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΡΠ΅ΠΏΡΡ Ρ, Π΅ΡΠ»ΠΈ Π΅ΠΉ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΠΎΠ΅ (sqrt ΠΎΠΏΠΈΡΠ°Π½Π° Π²). ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ n ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ
sqrt((double) n)
ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ n Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Π² double. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ n ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΎ ΡΠ°ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ n Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ. ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠΎΠ»Ρ ΠΆΠ΅ Π²ΡΡΠΎΠΊ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΡΡΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ.
Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠΌΡ ΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π’Π°ΠΊ, ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ sqrt:
double sqrt(double);
ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ sqrt Π² ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ
root2 = sqrt(2);
ΡΠ΅Π»ΠΎΠ΅ 2 Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ double 2.0 Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅ΠΉ "ΡΠ΅ΠΌΡ". Π Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²Ρ ΠΎΠ΄ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.