Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚

ΠšΠ»Π°ΡΡΡ‹ Integer, Character, Boolean

Часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π° Π½Π΅ с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ использовании ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ значСния ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ классы-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ (wrapper classes). Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Java сущСствуСт свой класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ. Π’Π°ΠΊΠΎΠΉ класс являСтся нСизмСняСмым, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, для измСнСния значСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ final ΠΈ Π΅Π³ΠΎ нСльзя Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ.

ВсС классы-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ (ΠΊΡ€ΠΎΠΌΠ΅ Void) Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс java.io.Serializable, поэтому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ любого класса-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ (ΠΊΡ€ΠΎΠΌΠ΅ Void) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сСриализованы. Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для «сСтСвых» пСрСсылок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏΠšΠ»Π°ΡΡ-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°
byteByte
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean

Wrapper classes числовых Ρ‚ΠΈΠΏΠΎΠ² (Byte, Short, Integer, Long, Float, Double) Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ класса Number, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΊΠΎΠ΄, ΠΎΠ±Ρ‰ΠΈΠΉ для всСх классов-ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ числовых Ρ‚ΠΈΠΏΠΎΠ². ВсС классы-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс Comparable.

ΠšΠ»Π°ΡΡΡ‹-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ числовых Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ equals(Object), ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Но с этим Π½Π°Π΄ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π’Π°ΠΊ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°

ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π² консоли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст :

Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ связан с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎ всСх классах-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ equals() сначала ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° совпадСниС Ρ‚ΠΈΠΏΠΎΠ² (классов), ΠΈ Ссли Π½Π΅Ρ‚ совпадСния, Ρ‚ΠΎ сразу ΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ false. Π’ JDK 1.3.1 для класса-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Integer ΠΌΠ΅Ρ‚ΠΎΠ΄ equals() ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ :

Класс Number

Абстрактный класс Number являСтся супСрклассом для классов Byte, Double, Float, Integer, Long ΠΈ Short. НаслСдники Number Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ прСобразовывания числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² byte, double, float, int, long ΠΈ short.

Класс Number ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ конструктор :

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Number :

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
byte byteValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ byte
abstract double doubleValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ double
abstract float floatValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ float
abstract int intValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ int
abstract long longValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ long
short shortValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ short

Класс Integer

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ класса Integer

Поля класса Integer

НаиболСС Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Integer

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
byte byteValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ byte
int compareTo(Integer integer)сравнСниС Π΄Π²ΡƒΡ… Ρ†Π΅Π»Ρ‹Ρ… чисСл
int compareTo(Object o)сравнСниС значСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
Integer decode(String nm)ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки Π² Integer
double doubleValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ double
boolean equals(Object obj)сравнСниС с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
float floatValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ float
int hashCode()ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ hashcode для ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π°
int intValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ int
long longValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ long
int parseInt(String s)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² Ρ‚ΠΈΠΏ int
int parseInt(String s, int radix)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния со Π·Π½Π°ΠΊΠΎΠΌ Π² систСмС счислСния, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅, Π² Ρ‚ΠΈΠΏ int
short shortValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ short
String toBinaryString(int i)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнного значСния i Π² тСкстовый Π²ΠΈΠ΄ с Π±Π°Π·ΠΎΠΉ 2 (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ)
String toHexString(int i)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнного значСния i Π² тСкстовый Π²ΠΈΠ΄ с Π±Π°Π·ΠΎΠΉ 16(ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΠΈΡ€ΠΈΡ‡Π½Ρ‹ΠΉ)
String toOctalString(int i)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнного значСния i Π² тСкстовый Π²ΠΈΠ΄ с Π±Π°Π·ΠΎΠΉ 8(Π²ΠΎΡΡŒΠΌΠΈΡ€ΠΈΡ‡Π½Ρ‹ΠΉ)
String toString()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² Ρ‚ΠΈΠΏ String
String toString(int i)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния i Π² Ρ‚ΠΈΠΏ String
String toString(int i, int radix)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнного значСния i Π² строку Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ систСмС счислСния radix
Integer valueOf(String s)созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Integer, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ s
Integer valueOf(String s, int radix)созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Integer, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ s, записанной Π² систСмС счислСния radix

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ parseInt(), ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² цСлочислСнноС, Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ valueOf(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ. Если пСрСданная Π½Π° Π²Ρ…ΠΎΠ΄ строка содСрТит Π½Π΅Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ символы, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π±ΡƒΠΆΠ΄Π°ΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ NumberFormatException.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ классС Integer ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° страницС ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ класса Integer

Класс Byte

Класс Byte являСтся стандартной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ для Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ класса Byte

Поля класса Byte

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Byte

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
byte byteValue()ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния Ρ‚ΠΈΠΏΠ° byte
int compareTo(Byte byte)сравнСниС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Byte
int compareTo(Object o)сравнСниС с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
static Byte decode(String nm)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Byte
double doubleValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² double
boolean equals(Object obj)ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° равСнство с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
float floatValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² float
int hashCode()ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ hash-ΠΊΠΎΠ΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
int intValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² int
long longValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² long
static byte parseByte(String s)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² byte
static byte parseByte(String s, int radix)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² систСмС счислСния radix Π² Π±Π°ΠΉΡ‚
short shortValue()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² short
String toString()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния Π² String
static String toString(byte b)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ значСния Π² String
static Byte valueOf(String s)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² Byte
static Byte valueOf(String s, int radix)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² систСмС счислСния radix Π² Byte

Класс Boolean

Класс Boolean являСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ простого логичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Boolean содСрТит СдинствСнноС ΠΏΠΎΠ»Π΅ логичСского Ρ‚ΠΈΠΏΠ°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, этот класс Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ прСобразования boolean Π² String ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ константы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с логичСским Ρ‚ΠΈΠΏΠΎΠΌ.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ класса Boolean

Поля класса Boolean

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Boolean

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
boolean booleanValue()ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ логичСского значСния
boolean equals(Object obj)функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ сравнСния ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ
static boolean getBoolean(String name)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² логичСскоС
int hashCode()ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ hash-ΠΊΠΎΠ΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
String toString()ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
static Boolean valueOf(String s)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкстового значСния Π² Boolean

Класс Void

Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° Void, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, НЕ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс java.io.Serializable ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ конструктора. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, экзСмпляр класса Void Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½. Он Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для получСния ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ void. Π­Ρ‚Π° ссылка прСдставлСна статичСской константой TYPE. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ void.class == Void.TYPE Π²Π΅Ρ€Π½Π΅Ρ‚ Β«trueΒ».

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Void ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаях, ΠΊΠΎΠ³Π΄Π° имССтся ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ класс (generic) ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π» :

Класс Character

Класс Character являСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚ΠΈΠΏΠ° char. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° char, содСрТащСС Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Character, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ charValue().

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса Character

Character ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ конструктор, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ char.

Помимо констант MIN_VALUE ΠΈ MAX_VALUE, Character содСрТит Π΄Π²Π΅ константы MIN_RADIX ΠΈ MAX_RADIX, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π²Π½Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ основанию систСмы счислСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ (прСдставлСнными Π½ΠΈΠΆΠ΅) для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ символа Π² Π΅Π³ΠΎ цСлочислСнный эквивалСнт ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. ОснованиС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 2–36; Ρ†ΠΈΡ„Ρ€Ρ‹ ΡΠ²Ρ‹ΡˆΠ΅ 9 прСдставлСны Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΎΡ‚ A Π΄ΠΎ Z ΠΈΠ»ΠΈ ΠΈΡ… эквивалСнтами Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС.

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

БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

1. БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Когда класс загруТаСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, для Π½Π΅Π³ΠΎ сразу создаСтся статичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса (статичСскиС поля класса). БтатичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса сущСствуСт, Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ Π±Ρ‹Π» создан Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса.

Когда ΠΌΡ‹ описываСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² классС, ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ созданы всСго ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈΠ»ΠΈ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΏΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ создаётся новая копия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

БтатичСская (static) ΠΆΠ΅ пСрСмСнная привязана ΠΊ статичСскому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ класса ΠΈ всСгда сущСствуСт Π² СдинствСнном экзСмплярС.

Если статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ стартовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ½Π° инициализируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π’ΠΈΠΏΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
(Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ )
ΠΈ Π»ΡŽΠ±Ρ‹Π΅ классы

ΠžΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π΅Π΅ классС ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Если ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ имя класса.

2. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ статичСских ΠΈ нСстатичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π§Π΅ΠΌ ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΈ статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅?

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса привязаны ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ своСго класса (экзСмплярам класса), статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” ΠΊ статичСскому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ класса.

Если экзСмпляров класса нСсколько, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… сущСствуСт своя копия нСстатичСских (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… класса. БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса всСгда находятся Π²Π½ΡƒΡ‚Ρ€ΠΈ статичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ экзСмплярС.

ΠžΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ класса (полям класса) ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имСя ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса. Ну ΠΈΠ»ΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΆΠ΅ класса.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ полю класса с использованиСм ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса

ΠžΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ статичСским ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΡƒΠ³ΠΎΠ΄Π½ΠΎ (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² видимости): ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠ· статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ класса, ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… классов ΠΈ Ρ‚.ΠΏ.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ статичСскому полю класса Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса

Устройство Π² памяти:

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ класс Person с 4 полями: Π΄Π²Π° статичСских, Π° Π΄Π²Π° β€” Π½Π΅Ρ‚.

Π‘Ρ€Π°Π·Ρƒ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ класса

Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. original. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚-original. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° original

ПослС создания ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. original. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚-original. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° original

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅, Ρƒ статичСского β€” статичСскиС.

НуТно большС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. original. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚-original. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° original

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ собствСнная пСрСмСнная age ΠΈ name.

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

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. data. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚-data. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Static boolean Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dataНачнём с Ρ‚ΠΈΠΏΠΎΠ² памяти ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈΡ… Ρ†Π΅Π»Ρ‹Ρ… Ρ‚Ρ€ΠΈ:

Π’ блиТайшСС врСмя нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ SRAM ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ Π½ΠΈΡ… дальшС ΠΈ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ.

Двоичная систСма

Π’ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ относится Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, информация хранится, прСобразуСтся ΠΈ пСрСдаСтся Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†. БоотвСтствСнно элСмСнтарная ячСйка памяти, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ 0 ΠΈΠ»ΠΈ 1, называСтся Π±ΠΈΡ‚ (bit). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС исчислСния. Ну ΠΆΠ΅, вспоминайтС ΡˆΠΊΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΡƒ! НС вдаваясь Π² подробности β€œΠΊΠ°ΠΊ это работаСт”, просто ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ

ДвоичнаяДСсятичная
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
……
1000016

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Помимо закономСрности увСличСния разрядов ΠΈ чисСл Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π°: ΠΏΡ€ΠΈΠ³Π»ΡΠ΄ΠΈΡ‚Π΅ΡΡŒ ΠΊ числам Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС со всСми нулями справа ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹:

102
1004
10008
1000016

ИмСнно, ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ! ИмСнно Π½Π° стСпСнях Π΄Π²ΠΎΠΉΠΊΠΈ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅ завязано ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство дСсятичных чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ количСством Π±ΠΈΡ‚, Π½ΡƒΠΆΠ½ΠΎ возвСсти 2 Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ количСства Π±ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Ρ‹ΡˆΠ΅ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ:

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘Ρ€Π°Π·Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ счёт начинаСтся с нуля, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 5ю Π±ΠΈΡ‚Π°ΠΌΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСсятичноС число ΠΎΡ‚ 0 Π΄ΠΎ 31, 8-ю Π±ΠΈΡ‚Π°ΠΌΠΈ – ΠΎΡ‚ 0 Π΄ΠΎ 255, 10-ю Π±ΠΈΡ‚Π°ΠΌΠΈ – ΠΎΡ‚ 0 Π΄ΠΎ 1023. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ это, дальшС ΠΎΡ‡Π΅Π½ΡŒ пригодится. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° измСрСния Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅ – Π±Π°ΠΉΡ‚ (byte), состоит ΠΈΠ· 8 Π±ΠΈΡ‚. ΠŸΠΎΡ‡Π΅ΠΌΡƒ 8? Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ слоТилось, Ρ‡Ρ‚ΠΎ ΡˆΠΈΠ½Ρ‹ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… микропроцСссоров ΠΈΠΌΠ΅Π»ΠΈ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ 8 Π±ΠΈΡ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ поэтому это количСство приняли Π·Π° Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡˆΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ памяти. Π’Π°ΠΊΠΆΠ΅ 8 это 2 Π² стСпСни 3, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ символично ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. А Π΅Ρ‰Ρ‘, для кодирования всСх латинских Π±ΡƒΠΊΠ², Π·Π½Π°ΠΊΠΎΠ² прСпинания, матСматичСских Π·Π½Π°ΠΊΠΎΠ² ΠΈ просто символов (всСх Ρ‡Ρ‚ΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅) Ρ€Π°Π½ΡŒΡˆΠ΅ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ 7-ΠΌΠΈ Π±ΠΈΡ‚ (128 символов), Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡ… стало ΠΌΠ°Π»ΠΎ, ΠΈ Π²Π²Π΅Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΡ‚, восьмой. Π’ΠΎ Π΅ΡΡ‚ΡŒ 8 Π±ΠΈΡ‚ это Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символов, которая называСтся ASCII. К Π½Π΅ΠΉ ΠΌΡ‹ вСрнёмся ΡƒΠΆΠ΅ Π² этой Π³Π»Π°Π²Π΅. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ вопрос ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ 8 Π±ΠΈΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚, вСдь Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΈ 6-Ρ‚ΠΈ Π±ΠΈΡ‚Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚, ΠΈ 9-Ρ‚ΠΈ битный… Но это ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ старых процСссоров, Π² соврСмСнных Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… устройствах Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТится 8 Π±ΠΈΡ‚ (Π½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ AVR Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Π°Ρ‡Π΅), Ρ‡Ρ‚ΠΎ позволяСт Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 256 дСсятичных чисСл ΠΎΡ‚ 0 Π΄ΠΎ 255 соотвСтствСнно. Π”Π°Π»ΡŒΡˆΠ΅ Π²Ρ‹ ΡƒΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅:

Двоичная систСма являСтся Ρ€ΠΎΠ΄Π½ΠΎΠΉ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ сущСствуСт Ρ†Π΅Π»Ρ‹ΠΉ ряд инструмСнтов, ΠΎ Π½ΠΈΡ… ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡƒΡ€ΠΎΠΊΠ΅ ΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… опСрациях ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ².

Π”Ρ€ΡƒΠ³ΠΈΠ΅ систСмы исчислСния

Π”Π°Π½Π½Ρ‹Π΅ Π² памяти ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° хранятся Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии, Π½ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π½Π΅Π³ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ систСмы исчислСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ сразу Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ числа ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ систСмы исчислСния Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ардуино Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всё Ρ€Π°Π²Π½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Ρ‹ скармливаСтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ΠΈ автоматичСски Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄. Π Π°Π·Π½Ρ‹Π΅ систСмы исчислСния Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для удобства программиста. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ сути: Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ (Π΄Π° Π² Ρ†Π΅Π»ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ) Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ классичСских систСмы исчислСния: Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ, Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ, Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ. Π”Π°, ΠΈ Π΄ΠΎ Π½Π΅Ρ‘ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΊΠ°: 16-ричная систСма ΠΈΠΌΠ΅Π΅Ρ‚ 16 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄ΠΈΠ½ разряд, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 10 ΠΊΠ°ΠΊ Ρƒ дСсятичной, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ – ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. Π‘ дСсятичной систСмой всё просто, пишСм числа Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ выглядят. 10 это Π΄Π΅ΡΡΡ‚ΡŒ, 25 это Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Двоичная (Binary) ΠΈΠΌΠ΅Π΅Ρ‚ прСфикс 0b (ноль бэ) ΠΈΠ»ΠΈ B, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число 101 Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ 0b101 Π˜Π›Π˜ B101. Π’ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Π°Ρ (Octal) ΠΈΠΌΠ΅Π΅Ρ‚ прСфикс 0 (ноль), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 012. ШСстнадцатСричная (hexadecimal) ΠΈΠΌΠ΅Π΅Ρ‚ прСфикс 0x (ноль икс), FF19 Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ 0xFF19.

Π‘Π°Π·ΠΈΡΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ
2 (двоичная)B ΠΈΠ»ΠΈ 0b (ноль бэ)B1101001Ρ†ΠΈΡ„Ρ€Ρ‹ 0 ΠΈ 1
8 (Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Π°Ρ)0 (ноль)0175Ρ†ΠΈΡ„Ρ€Ρ‹ 0 – 7
10 (дСсятичная)Π½Π΅Ρ‚100500Ρ†ΠΈΡ„Ρ€Ρ‹ 0 – 9
16 (ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Π°Ρ)0x (ноль икс)0xFF21AΡ†ΠΈΡ„Ρ€Ρ‹ 0-9, Π±ΡƒΠΊΠ²Ρ‹ A-F

Основная Ρ„ΠΈΡˆΠΊΠ° 16-Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмы Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ дСсятиричныС числа ΠΊΠΎΡ€ΠΎΡ‡Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ (255) Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ 0xFF, Π΄Π²Π° Π±Π°ΠΉΡ‚Π° (65 535) ΠΊΠ°ΠΊ 0xFFFF, Π° ΠΆΡƒΡ‚ΠΊΠΈΠ΅ Ρ‚Ρ€ΠΈ Π±Π°ΠΉΡ‚Π° (16 777 215) ΠΊΠ°ΠΊ 0xFFFFFF. Π’Ρ‹ Π½Π΅ прСдставляСтС (ΠΈΠ»ΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ прСдставлСниС), насколько ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ понятно это позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ ΠΈ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ°ΠΌΠΈ. Двоичная ΠΆΠ΅ систСма ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для наглядного прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΠ΅Π»Π΅Π·Π°. НапримСр ΠΊΠΎΠ½Ρ„ΠΈΠ³ кодируСтся ΠΎΠ΄Π½ΠΈΠΌ Π±Π°ΠΉΡ‚ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ Π² Π½Ρ‘ΠΌ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ настройку (Π²ΠΊΠ»/Π²Ρ‹ΠΊΠ»), ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π²ΠΈΠ΄Π° 0b10110100 ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΊΡƒΡ‡Ρƒ всСго Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΊ этому ΠΌΡ‹ вСрнёмся Π² ΡƒΡ€ΠΎΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с рСгистрами ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ². Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΠΈΡˆΡƒΡ‚ Π² стилС β€œΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° это, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π° то” ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ – это ячСйка SRAM памяти, которая ΠΈΠΌΠ΅Π΅Ρ‚ своё ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ числа соотвСтствСнно своСму Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ. К ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ прСслСдуСт нас ΠΈ дальшС, вСдь ΠΎΠ±ΡŠΡ‘ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ячСйки памяти Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Ρ‚ΠΎΠΆΠ΅ Π΅ΠΉ ΠΊΡ€Π°Ρ‚Π΅Π½:

Π”Π°, большС Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Π±Π°ΠΉΡ‚ Π² Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ (Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π² МК ΠΎΡ‚ AVR) ΡƒΠΆΠ΅ Π½Π΅ Π²Π»Π΅Π·Π΅Ρ‚, ΠΏΡ€ΠΈ использовании ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…). По сути ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 4 Π±Π°ΠΉΡ‚Π° для хранСния Ρ‡Π΅Π³ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ это Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ унСсти максимум 200 ΠΌΠ» Π²ΠΎΠ΄Ρ‹ (мСньшС 1 Π±Π°ΠΉΡ‚Π°), Π½ΠΎ Π²Ρ‹ всё Ρ€Π°Π²Π½ΠΎ Π±Π΅Ρ€Ρ‘Ρ‚Π΅ 19 Π»ΠΈΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Π±ΡƒΡ‚Ρ‹Π»ΡŒ (2 Π±Π°ΠΉΡ‚Π°). Или ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½ΡƒΡŽ цистСрну Π½Π° 120 Ρ‚ΠΎΠ½Π½ (4 Π±Π°ΠΉΡ‚Π°). Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ красивый ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²ΠΎΡ‚ ΠΎΠ½ΠΈ:

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

*НС встрСчал упоминания ΠΎΠ± этом Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… источниках, Π½ΠΎ Ардуино (Ρ‚ΠΎΡ‡Π½Π΅Π΅ компилятор) Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 64 Π±ΠΈΡ‚Π½Ρ‹Π΅ числа, соотвСтствСнно Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int64_t ΠΈ uint64_t ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ всСх Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… хранится Π² константах, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎ надобности:

Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ нСсколько нСстандартных Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‡ΡƒΠΆΠΎΠΌ ΠΊΠΎΠ΄Π΅:

ОбъявлСниС ΠΈ инициализация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ _cast (Pro)

Иногда ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cast. ΠžΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π₯Π°Π±Ρ€Π΅, Π° я ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡˆΡƒ 4 основных каста:

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ: Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ константа понятно ΠΈΠ· Π΅Ρ‘ названия – Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π—Π°Π΄Π°Ρ‚ΡŒ (ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ) константу ΠΌΠΎΠΆΠ½ΠΎ двумя способами:

Π•Ρ‰Ρ‘ ΠΏΠ°Ρ€Ρƒ слов ΠΎ константах ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: Ссли обычная пСрСмСнная Π½ΠΈΠ³Π΄Π΅ Π½Π΅ измСняСтся Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ константой ΠΈ ΠΎΠ½Π° Π½Π΅ Π·Π°ΠΉΠΌΡ‘Ρ‚ мСста Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Ρ‚.Π΅. Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° Π²ΠΎ Flash.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости

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

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ доступна для чтСния ΠΈ записи Π² любом мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² любой Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная ΠΆΠΈΠ²Ρ‘Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ любого Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² < Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки >, доступна для чтСния ΠΈ записи Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π΅Ρ‘ < Π±Π»ΠΎΠΊΠ° >) Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ локальная пСрСмСнная создаётся Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ содСрТащСго Π΅Ρ‘ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° (ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) ΠΈ удаляСтся ΠΈΠ· памяти ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ выполнСния этого Π±Π»ΠΎΠΊΠ° (ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ):

Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Ссли имя локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ совпадаСт с глобальной, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ обращСния ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отдаётся локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€)

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная, ΠΎΠ½Π° ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΠΊΠ°ΠΊ обыкновСнная локальная пСрСмСнная, Π½ΠΎ появляСтся ΠΏΡ€ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… условиях: ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ ΠΏΡ€ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ (Pro)

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° struct – ΠΎΡ‡Π΅Π½ΡŒ интСрСсный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…: это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях структуры ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ сильно ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ написаниС ΠΊΠΎΠ΄Π°, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… структура ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π²ΠΎΡ‚ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΉ схСмС:

Π―Ρ€Π»Ρ‹ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ярлык, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΡƒΠΆΠ΅ нСпосрСдствСнно саму структуру:

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ объявлСния структуры Π±Π΅Π· создания ярлыка, Ρ‚.Π΅. создаём структуру, Π½Π΅ объявляя Π΅Ρ‘ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… со своим ΠΈΠΌΠ΅Π½Π΅ΠΌ.

Рассмотрим большой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ всё Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅

Π Π°Π·ΠΌΠ΅Ρ€ элСмСнта структуры

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ памяти: ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ вСс элСмСнта Π² Π±ΠΈΡ‚Π°Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ±ΠΈΡ‚Π½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ bool / boolean Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π² памяти 8 Π±ΠΈΡ‚). ДСлаСтся это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ :

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ структуры

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, доступ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ элСмСнту осущСствляСтся Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° β€œΡ‚ΠΎΡ‡ΠΊΠ°β€, смотритС простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ (Pro)

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ ( enum – enumeration) – Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Π½Π°Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… констант, Π½ΡƒΠΆΠ΅Π½ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для удобства программиста. Π‘Ρ€Π°Π·Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΎΠΏΡ‹Ρ‚Π°: допустим Ρƒ нас Π΅ΡΡ‚ΡŒ пСрСмСнная mode, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π°Ρ Π·Π° Π½ΠΎΠΌΠ΅Ρ€ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройства. ΠœΡ‹ для сСбя Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сСбС записываСм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 0 – ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, 1 – Ρ€Π΅ΠΆΠΈΠΌ оТидания, 2 – Ρ€Π΅ΠΆΠΈΠΌ настройки_1, 3 – Ρ€Π΅ΠΆΠΈΠΌ настройки_2, 4 – ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠ°, 5 – Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, ошибка. ΠŸΡ€ΠΈ написании ΠΈΠ»ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ часто придётся ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ этому списку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΎΠ±ΠΎΠ·Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π΅Ρ„Π°ΠΉΠ½Π°:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ вмСсто Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ понятныС слова ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. ИспользованиС enum Π΅Ρ‰Ρ‘ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ эту ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ: пСрСчислСниС позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠ° int ), которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ β€œΠ½Π°Π·Π²Π°Π½ΠΈΡβ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для Π½Π΅Ρ‘ ΡƒΠΊΠ°Π·Π°Π½Ρ‹. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ названиями, ΠΈ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ #define это Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ошибкам. ОбъявлСниС пСрСчислСния Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° объявлСниС структуры:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ объявили ярлык. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ярлык, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ само пСрСчислСниС:

Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Ρƒ структур, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ пСрСчислСниС Π±Π΅Π· создания ярлыка (Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ лишняя строчка?):

Π‘ΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ пСрСчислСниС являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ для Π½Π΅Ρ‘ ΠΈΠΌΠ΅Π½Π°, Ρ‚Π°ΠΊΠΆΠ΅ с этими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ самоС Π³Π»Π°Π²Π½ΠΎΠ΅: ΠΈΠΌΠ΅Π½Π° для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ числами, начиная с 0 ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ порядку ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡΡΡŒ Π½Π° 1. Π’ абстрактном ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ имя1 Ρ€Π°Π²Π½ΠΎ 0, имя2 Ρ€Π°Π²Π½ΠΎ 1, имя3 Ρ€Π°Π²Π½ΠΎ 2, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Помимо ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΡ‘Π½, ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ ΠΈ число Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½ΠΎ ΠΊΠ°ΠΊ Π±Ρ‹ Π·Π°Ρ‡Π΅ΠΌ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€!

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ SET1 ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1, SET2 Π±ΡƒΠ΄Π΅Ρ‚ 2 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ порядку.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ (Pro)

Π’ Π‘++ (ΠΈ Π½Π° Ардуино) этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ! Наоборот, typedef Π² этом ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ошибкам. НапримСр:

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΡ‘Π½ (Pro)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΡ‘Π½ – ΠΎΡ‡Π΅Π½ΡŒ удобная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ языка, с Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ свой Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… инструмСнтов ΠΎΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΡ‘Π½ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. β€œΠ˜ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒβ€ опрСдСляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° namespace :

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ΠΈΠ· пространства ΠΈΠΌΡ‘Π½, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ области видимости ::

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

И Π½ΠΈΠΆΠ΅ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ содСрТимым пространства ΠΈΠΌΡ‘Π½ Π±Π΅Π· обращСния Ρ‡Π΅Ρ€Π΅Π· имя::

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (Pro)

Помимо возмоТности ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ константой ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ спСцификатора const Ρƒ нас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ нСсколько интСрСсных инструмСнтов ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

static

static – Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (ΠΈΠ»ΠΈ константу) статичной. Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? Бтатичная локальная Для Π½Π°Ρ‡Π°Π»Π° вспомним, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ обычная локальная пСрСмСнная: ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ локальная пСрСмСнная создаётся Π·Π°Π½ΠΎΠ²ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½Π°Ρ‡Π΅. Если локальная пСрСмСнная объявлСна ΠΊΠ°ΠΊ static – ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ своё Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ²Π° ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ станСт Π³Ρ€ΡƒΠ±ΠΎ говоря глобально-локальной. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

БтатичСская локальная:

extern

extern – ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ компилятору, Ρ‡Ρ‚ΠΎ пСрСмСнная объявлСна Π³Π΄Π΅-Ρ‚ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΏΡ€ΠΈ компиляции ΠΎΠ½ Π΅Ρ‘ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. А Ссли Π½Π΅ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ – ошибки Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. НапримСр ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ счётчик millis()

volatile

volatile – Π΄Π°Π½Π½Ρ‹ΠΉ спСцификатор ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ компилятору, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΎΡ‚ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ ΠΈΠ·Π²Π½Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с Ρ‚Π°ΠΊΠΈΠΌ спСцификатором ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. ВычислСния с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ


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

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

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