Π Π°Π·Π½ΠΎΠ΅

C Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… byte: БущСствуСт Π»ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ‘byte’ Π² C++?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

число (bool, char, byte, int, long, float, double, decimal), тСкст (string), пСрСчислСниС (enum), класс (class), структура (struct)


Β Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C#Β 

послСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 27 ноября 2018



Π”Π°Π½Π½Ρ‹Π΅ Π² C# ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ:
β€’ число (bool, char, byte, int, long, float, double, decimal)
β€’ тСкст (string)
β€’ пСрСчислСниС (enum)
β€’ класс (class)
β€’ структура (struct)



Число в C#



ЧисловыС Ρ‚ΠΈΠΏΡ‹: bool, char, byte, int, long, float, double, decimal


Β  C# Β 

Β  ΠŸΡ€ΠΈΠΌΠ΅Ρ€

// Π“ΠΎΠ΄ издания ΠΊΠ½ΠΈΠ³ΠΈ

int bookYear = 1970;


ΠœΡ‹ объявили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ bookYear (ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ любоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ).
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ объявили с Ρ‚ΠΈΠΏΠΎΠΌ int (ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число).
Π‘ΠΈΠΌΠ²ΠΎΠ» = ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
bookYear = 1970



ОписаниС числовых Ρ‚ΠΈΠΏΠΎΠ² Π² C#




Π’ΠΈΠΏ



Π΄ΠΈΠ°ΠΏΠΎΠ·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ



Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти



bool



true, false



1 Π±Π°ΠΉΡ‚



char



U+0000 Π΄ΠΎ U+ffff



2 Π±Π°ΠΉΡ‚Π°, символ Unicode



sbyte



-128 Π΄ΠΎ 127



1 Π±Π°ΠΉΡ‚, Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



byte



0 Π΄ΠΎ 255



1 Π±Π°ΠΉΡ‚, Π±Π΅Π·-Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



short



-32768 Π΄ΠΎ 32767



2 Π±Π°ΠΉΡ‚Π°, Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



ushort



0 Π΄ΠΎ 65535



2 Π±Π°ΠΉΡ‚Π°, Π±Π΅Π·-Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



int

-2147483648 Π΄ΠΎ 2147483647

соотвСтствуСт структура Int32 для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠΎΠΌ int

МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ константой Int32. MinValue
-2 147 483 648
ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ 0x80000000

МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ константой Int32.MaxValue
2 147 483 647
ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ 0x7FFFFFFF



4 Π±Π°ΠΉΡ‚Π°, Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



uint



0 Π΄ΠΎ 4294967295



4 Π±Π°ΠΉΡ‚Π°, Π±Π΅Π·-Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



long



-9223372036854775808 Π΄ΠΎ 9223372036854775807



8 Π±Π°ΠΉΡ‚, Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



ulong



0 Π΄ΠΎ 18446744073709551615



8 Π±Π°ΠΉΡ‚, Π±Π΅Π·-Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅



Π”Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа (числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ)



float

Β±1,5*10-45 Π΄ΠΎ Β±3,4*1033

соотвСтствуСт структура Single для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠΎΠΌ float



4 Π±Π°ΠΉΡ‚Π°, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ 7 разрядов



double



Β±5*10-324 Π΄ΠΎ Β±1,7*10306



8 Π±Π°ΠΉΡ‚ΠΎΠ², Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ 16 разрядов



decimal



(-7,9 * 1028 Π΄ΠΎ 7,9 * 1028) / (100–28)



16 Π±Π°ΠΉΡ‚, 28 разрядов


ВСкст (string)



ВСкст Π² C# это Ρ‚ΠΈΠΏ string


Β  C# Β 

  пишСм код:

// НазваниС книги

string bookName = «Π’ΠΎΠ»ΡˆΠ΅Π±Π½ΠΈΠΊ моря»;

ΠœΡ‹ объявили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ bookName (ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ любоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ).

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ объявили с Ρ‚ΠΈΠΏΠΎΠΌ string (ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ тСкст).

Π‘ΠΈΠΌΠ²ΠΎΠ» = ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

bookName = «Π’ΠΎΠ»ΡˆΠ΅Π±Π½ΠΈΠΊ моря»

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ string …


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



ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ — это Π½Π°Π±ΠΎΡ€ констант.
ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ слова enum.


Β  C# Β 

Β  ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π–Π°Π½Ρ€ ΠΊΠ½ΠΈΠ³

public enum BookType

{

Β Β Β Β  Fantasy,

Β Β Β Β  History,

Β Β Β Β  Child,

}

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ enum …


Класс (class)


ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ class …


Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° (struct)


ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ struct …

VBA Excel. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Бправочная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΠΎ встроСнным Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… VBA Excel. Ѐункция TypeName, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Option Explicit Π² Π½Π°Ρ‡Π°Π»Π΅ модуля.

ВстроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ВстроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… VBA Excel:

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…Π‘Π°ΠΉΡ‚Ρ‹*Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Byte1ΠΎΡ‚ 0 Π΄ΠΎ 255
Boolean2True (Π˜ΡΡ‚ΠΈΠ½Π°) ΠΈΠ»ΠΈ False (Π›ΠΎΠΆΡŒ)
Integer2ΠΎΡ‚ -32768 Π΄ΠΎ 32767
Long4ΠΎΡ‚ -2147483648 Π΄ΠΎ 2147483647
Single4ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа:
ΠΎΡ‚ -3,402823Π•+38 Π΄ΠΎ -1,401298Π•-45
ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа:
ΠΎΡ‚ 1,401298Π•-45 Π΄ΠΎ 3,402823Π•+38
Double8ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа:
ΠΎΡ‚ -1,79769313486232Π•+308
Π΄ΠΎ -4,94065645841247Π•-324
ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа:
ΠΎΡ‚ 4,94065645841247Π•-324
Π΄ΠΎ 1,79769313486232Π•+308
Currency8ΠΎΡ‚ -922337203685477,5808
Π΄ΠΎ 922337203685477,5807
Date8с 1 января 100 Π³ΠΎΠ΄Π°
ΠΏΠΎ 31 дСкабря 9999 Π³ΠΎΠ΄Π°
Object4Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
String
(ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹)
10 + Π΄Π»ΠΈΠ½Π° строкиот 0 Π΄ΠΎ β‰ˆ2 ΠΌΠ»Ρ€Π΄ символов
String
(фиксированной Π΄Π»ΠΈΠ½Ρ‹)
Π΄Π»ΠΈΠ½Π° строкиот 1 Π΄ΠΎ β‰ˆ65400 символов
Variant
(числа)
16Π’ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Ρ‚ΠΈΠΏΠ°
Π΄Π°Π½Π½Ρ‹Ρ… Double
Variant
(символы)
22 + Π΄Π»ΠΈΠ½Π° строкиот 0 Π΄ΠΎ β‰ˆ2 ΠΌΠ»Ρ€Π΄ символов

*РСзСрвируСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Π±Π°ΠΉΡ‚Π°Ρ… Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Variant ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния: Empty, Error, Nothing ΠΈ Null.

ΠšΡ€ΠΎΠΌΠ΅ встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… VBA Excel позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹, создаваСмыС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Type. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСтся встроСнными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ состоит.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Byte, Boolean, Integer, Long, Single ΠΈ Double ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ суффиксов.

Ѐункция TypeName

TypeName – это функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° String с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π§Π°Ρ‰Π΅ всСго, функция TypeName Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (значСния), содСрТащСгося Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, функция TypeName ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
Collection, Dictionary, Range, Worksheet ΠΈ Ρ‚.Π΄.Π’ΠΈΠΏ извСстного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ссылка Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
ErrorΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ошибки
EmptyНСинициализированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
NullΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ допустимых Π΄Π°Π½Π½Ρ‹Ρ…
UnknownΠžΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ нСизвСстСн
NothingΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ пСрСмСнная, которая Π½Π΅ ссылаСтся Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Если пСрСмСнная объявлСна с числовым Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ String, функция TypeName Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ этого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Если пСрСмСнная объявлСна с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Variant ΠΈΠ»ΠΈ Object, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ содСрТимого ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Sub Primer()

Dim a As Single, b As Date, c As Variant

Β Β Β Β MsgBox «a As Single:Β Β » & TypeName(a)Β Β ‘Single

Β Β Β Β MsgBox «b As Date:Β Β » & TypeName(b)Β Β ‘Date

Β Β Β Β MsgBox «c As Variant:Β Β » & TypeName(c)Β Β ‘Empty (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ)

c = 1.236

Β Β Β Β MsgBox «c = 1.236:Β Β » & TypeName(c)Β Β ‘Double

Set c = Cells(1, 1)

Β Β Β Β MsgBox «Set c = Cells(1, 1):Β Β » & TypeName(c)Β Β ‘Range (Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°)

Set c = Worksheets(1)

Β Β Β Β MsgBox «Set c = Cells(1, 1):Β Β » & TypeName(c)Β Β ‘Worksheet (Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°)

End Sub

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Option Explicit

VBA Excel допускаСт использованиС Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠΠ΅ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ присваиваСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Variant ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ всС допустимыС значСния, свойствСнныС этому Ρ‚ΠΈΠΏΡƒ.

Если ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π°Π½Π΅Π΅ использовавшСйся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, компилятор зарСгистрируСт Π΅Π΅ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡƒΡŽ. Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ошибки Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… (ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ) Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Option Explicit. Он ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Dim ΠΈΠ»ΠΈ ReDim. Π’ этом случаС, Ссли компилятор ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ строку с нСобъявлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎ сгСнСрируСт ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

РазмСщаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Option Explicit Π² самом Π½Π°Ρ‡Π°Π»Π΅ модуля ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π΅ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎ Π½Π΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA Excel, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ автоматичСски добавлял Option Explicit ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ модуля.

Настройка автоматичСского добавлСния Option Explicit

1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Options Ρ‡Π΅Ρ€Π΅Π· Π²ΠΊΠ»Π°Π΄ΠΊΡƒ мСню Tools:

2. ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΠΏΡ†ΠΈΡŽ Require Variable Declaration Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Editor:

3. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ открываСтся со строкой Option Explicit:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС C#

Знакомство с языком Π‘#, ΠΊΠ°ΠΊ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком, ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с изучСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ…ΠΎΠ΄Π΅ ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ.

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

Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² языкС C# ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠžΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Если ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Ρ‡Ρ‚ΠΎ пСрСмСнная с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ†Π΅Π»Ρ‹Ρ… чисСл int, Ρ‚ΠΎ Π² Π½Π΅Ρ‘ ΠΌΡ‹ Π½Π΅ смоТСм Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку ΠΈΠ»ΠΈ число с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ значСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ:

float some_value = 2.95f;
some_value = 6.9f; // Записали Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Рассмотрим всС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π¦Π΅Π»Ρ‹Π΅ числа

  • byte — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл ΠΎΡ‚ -128 Π΄ΠΎ 127, Ссли число Π±ΡƒΠ΄Π΅Ρ‚ большим 127 ΠΈΠ»ΠΈ мСньшим -128 , Ρ‚ΠΎ выдастся ошибка;
  • short — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл ΠΎΡ‚ -32768 Π΄ΠΎ 32767;
  • int — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл ΠΎΡ‚ -2147483648 Π΄ΠΎ 2147483647;
  • long — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл ΠΎΡ‚ –9 223 372 036 854 775 808 Π΄ΠΎ 9 223 372 036 854 775 807.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ большиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ long, Ссли число малСнькоС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‡Π΅ΠΌ большС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ‚Π΅ΠΌ большС памяти трСбуСтся ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Числа с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

  • float — для создания чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл ΠΎΡ‚ ΠΎΡ‚ -3.4*1038 Π΄ΠΎ 3.4*1038;
  • double — для создания чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл ΠΎΡ‚ ΠΎΡ‚ Β±4.9*10-324 Π΄ΠΎ Β±1.8*10308.

ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

  • bool — логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для записи истинного (true) ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ (false) значСния;
  • char — Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с символами. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ символ;
  • string — Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для тСкста. Π’ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ мноТСство слов.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС Π‘# Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

Для создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

int a = 0; // Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ значСния сразу
byte c; // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π· значСния
short b, y = 342; // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Для Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Ρ‚ΠΈΠΏΠΎΠΌ float ΠΈΠ»ΠΈ double Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ послС числа Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ f ΠΈΠ»ΠΈ d соотвСтсвСнно.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ — Kotlin

Π’ Kotlin всё являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойству любой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НСкоторыС Ρ‚ΠΈΠΏΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ встроСнными, Ρ‚.ΠΊ. ΠΈΡ… рСализация ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, хотя для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ классы. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ описываСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих Ρ‚ΠΈΠΏΠΎΠ²: числа, символы, логичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ массивы.

Числа

Kotlin ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ числСнныС Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Java, хотя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия всё ΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚. НапримСр, отсутствуСт нСявноС Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ для чисСл, Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.

Для прСдставлСния чисСл Π² Kotlin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ встроСнныС Ρ‚ΠΈΠΏΡ‹ (ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ°ΠΌ Π² Java):

Π’ΠΈΠΏΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚
Double64
Float32
Long64
Int32
Short16
Byte8

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ символы (characters) Π² языкС Kotlin Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ числами (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Java).

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ постоянныС

Π’ языкС Kotlin ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… постоянных (констант) для Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

  • ДСсятичныС числа: 123
    • Π’ΠΈΠΏ Long обозначаСтся Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ L: 123L
  • ШСстнадцатСричныС числа: 0x0F
  • Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ числа: 0b00001011

Π’ΠΠ˜ΠœΠΠΠ˜Π•: Π’ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Π’Π°ΠΊΠΆΠ΅ Kotlin ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой:

  • Π’ΠΈΠΏ Double ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 123.5, 123.5e10
  • Π’ΠΈΠΏ Float обозначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ f ΠΈΠ»ΠΈ F: 123.5f

НиТниС подчСркивания Π² числовых Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… (начиная с вСрсии 1.1)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ½ΠΈΠ΅ подчСркивания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ числовыС константы Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌΠΈ:

val oneMillion = 1_000_000
val creditCardNumber = 1234_5678_9012_3456L
val socialSecurityNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E
val bytes = 0b11010010_01101001_10010100_10010010

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java Ρ…Ρ€Π°Π½ΠΈΡ‚ числа Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² JVM; Ссли ΠΆΠ΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ссылка, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Int?), Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ.
Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ использованиС ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΎΠΊ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ использованиС ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΎΠΊ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ числа Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ равСнства ссылок Π½Π° Π½ΠΈΡ…:

val a: Int = 10000
print(a === a) // Prints 'true'
val boxedA: Int? = a
val anotherBoxedA: Int? = a
print(boxedA === anotherBoxedA) // !!!Prints 'false'!!!

Однако, равСнство ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ сохраняСтся:

val a: Int = 10000
print(a == a) // Prints 'true'
val boxedA: Int? = a
val anotherBoxedA: Int? = a
print(boxedA == anotherBoxedA) // Prints 'true'

Π―Π²Π½Ρ‹Π΅ прСобразования

Из-Π·Π° Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² прСдставлСниях мСньшиС Ρ‚ΠΈΠΏΡ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π±ΠžΠ»ΡŒΡˆΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².
Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρƒ нас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π±Ρ‹ слоТности:

// Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ скомпилируСтся:
val a: Int? = 1 // "ΠžΠ±Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ" Int (java.lang.Integer)
val b: Long? = a // нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ "ΠΎΠ±Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ" Long (java.lang.Long)
print(a == b) // НСТданчик! Π”Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ "false" Ρ‚.  ΠΊ. ΠΌΠ΅Ρ‚ΠΎΠ΄ equals() Ρ‚ΠΈΠΏΠ° Long ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ вторая Ρ‡Π°ΡΡ‚ΡŒ выраТСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Long

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠΆΠ΄Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (равСнство ΠΏΠΎ ссылкС), Π½ΠΎ ΠΈ равСнство ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Как слСдствиС, нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π² большиС НЕ происходит.
Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ByteΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Int Π±Π΅Π· явного прСобразования:

val b: Byte = 1 // порядок, Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ статичСски
val i: Int = b // ΠžΠ¨Π˜Π‘ΠšΠ

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ для «Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ» чисСл

val i: Int = b.toInt() // порядок: число явно Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ числСнный Ρ‚ΠΈΠΏ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСобразования:

  • toByte(): Byte
  • toShort(): Short
  • toInt(): Int
  • toLong(): Long
  • toFloat(): Float
  • toDouble(): Double
  • toChar(): Char

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ нСявного прСобразования Ρ€Π΅Π΄ΠΊΠΎ бросаСтся Π² Π³Π»Π°Π·Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏ выводится ΠΈΠ· контСкста, Π° арифмСтичСскиС дСйствия ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ для подходящих ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

val l = 1L + 3 // Long + Int => Long

АрифмСтичСскиС дСйствия

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

Π§Ρ‚ΠΎ касаСтся Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎ вмСсто особых ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ Π² инфиксной Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

val x = (1 shl 2) and 0x000FF000

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΈΠΏΠΎΠ² Int ΠΈ Long):

  • shl(bits) – сдвиг Π²Π»Π΅Π²ΠΎ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π·Π½Π°ΠΊΠ° (<< Π² Java)
  • shr(bits) – сдвиг Π²ΠΏΡ€Π°Π²ΠΎ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π·Π½Π°ΠΊΠ° (>> Π² Java)
  • ushr(bits) – сдвиг Π²ΠΏΡ€Π°Π²ΠΎ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° Π·Π½Π°ΠΊΠ° (>>> Π² Java)
  • and(bits) – ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И
  • or(bits) – ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜
  • xor(bits) – ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜
  • inv() – ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Π² Kotlin прСдставлСны Ρ‚ΠΈΠΏΠΎΠΌ Char. ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС чисСл

fun check(c: Char) {
  if (c == 1) { // ΠžΠ¨Π˜Π‘ΠšΠ: нСсовмСстимый Ρ‚ΠΈΠΏ
    // . ..
  }
}

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…: '1', '\n', '\uFF00'.
ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ явно привСсти символ Π² число Ρ‚ΠΈΠΏΠ° Int

fun decimalDigitValue(c: Char): Int {
  if (c !in '0'..'9')
    throw IllegalArgumentException("Π’Π½Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°")
  return c.toInt() - '0'.toInt() // Π―Π²Π½Ρ‹Π΅ прСобразования Π² число
}

Подобно числам, символы ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ нСобходимости использования nullable ссылки. ΠŸΡ€ΠΈ использовании ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΎΠΊ Ρ‚ΠΎΠΆΠ΄Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (равСнство ΠΏΠΎ ссылкС) Π½Π΅ сохраняСтся.

ЛогичСский Ρ‚ΠΈΠΏ

Π’ΠΈΠΏ Boolean прСдставляСт логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° значСния: true ΠΈ false.

ΠŸΡ€ΠΈ нСобходимости использования nullable ссылок логичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

ВстроСнныС дСйствия Π½Π°Π΄ логичСскими ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚

  • || – Π»Π΅Π½ΠΈΠ²ΠΎΠ΅ логичСскоС Π˜Π›Π˜
  • && – Π»Π΅Π½ΠΈΠ²ΠΎΠ΅ логичСскоС И
  • ! — ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅

ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Kotlin прСдставлСны классом Array, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΌ функциями get ΠΈ set (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ [] согласно соглашСнию ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²), ΠΈ свойством size, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколькими ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ встроСнными функциями:

class Array<T> private constructor() {
  val size: Int
  fun get(index: Int): T
  fun set(index: Int, value: T): Unit

  fun iterator(): Iterator<T>
  // . ..
}

Для создания массива ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ arrayOf(), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ элСмСнты массива, Ρ‚.Π΅. Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ arrayOf(1, 2, 3) создаёт массив [1, 2, 3].
Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны библиотСчная функция arrayOfNulls() ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для создания массива Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ значСниями null.

Π’Π°ΠΊΠΆΠ΅ для создания массива ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°Π±Ρ€ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΏΠΎ Π΅Π³ΠΎ индСксу:

// создаёт массив Ρ‚ΠΈΠΏΠ° Array<String> со значСниями ["0", "1", "4", "9", "16"]
val asc = Array(5, { i -> (i * i).toString() })

Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ Π²Ρ‹ΡˆΠ΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ [] ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСсто Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ get() ΠΈ set().

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Java массивы Π² Kotlin ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Kotlin Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ массив Array<String> ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Array<Any>, прСдотвращая Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· Π²ΠΎ врСмя исполнСния (хотя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Array<out Any>,
см. ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²).

Π’Π°ΠΊΠΆΠ΅ Π² Kotlin Π΅ΡΡ‚ΡŒ особыС классы для прСдставлСния массивов ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅: ByteArray,
ShortArray, IntArray ΠΈ Ρ‚.Π΄. Π”Π°Π½Π½Ρ‹Π΅ классы Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ класс Array, хотя ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойств. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ фабричная функция:

val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Kotlin прСдставлСны Ρ‚ΠΈΠΏΠΎΠΌ String. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми.
Π‘Ρ‚Ρ€ΠΎΠΊΠΈ состоят ΠΈΠ· символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΠΎ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ: s[i].
ΠŸΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ строкС выполняСтся Ρ†ΠΈΠΊΠ»ΠΎΠΌ for:

for (c in str) {
  println(c)
}

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

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

val s = "Hello, world!\n"

Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ выполняСтся общСпринятым способом, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹.

ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ строка Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΎΠΉ ("""), Π½Π΅ содСрТит экранированных символов, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ символы Π½ΠΎΠ²ΠΎΠΉ строки ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы:

val text = """
  for (c in "foo")
    print(c)
"""

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ выраТСния, Ρ‚.Π΅. участки ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ встраиваСтся Π² строку.
Π¨Π°Π±Π»ΠΎΠ½ начинаСтся со Π·Π½Π°ΠΊΠ° Π΄ΠΎΠ»Π»Π°Ρ€Π° ($) ΠΈ состоит Π»ΠΈΠ±ΠΎ ΠΈΠ· простого ΠΈΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ):

val i = 10
val s = "i = $i" // evaluates to "i = 10"

Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ выраТСния Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках:

val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ Π² экранированных строках.
ΠŸΡ€ΠΈ нСобходимости символ $ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ синтаксиса:

val price = "${'$'}9.99"

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Java β€” ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ β€” ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java, Android

package ua. com.prologistic.collections;

public class DataTypes {

Β Β Β Β public static void main(String[] args) {

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β char c = ‘A’;

Β Β Β Β Β Β Β Β System.out.println(c); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ A

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β char c1 = ‘\u0041’;

Β Β Β Β Β Β Β Β System.out.println(c1); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ A

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β char c2 = 0;

Β Β Β Β Β Β Β Β System.out.println(«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: «+c2+»:»); // ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ стандартноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: :

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β char c3 = 65;

Β Β Β Β Β Β Β Β System.out.println(c3); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ A

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β char c4 = ‘\t’;

Β Β Β Β Β Β Β Β System.out.println(«Π’абуляция:»+c4+»:ΠΊΠΎΠ½Π΅Ρ† табуляции»); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β byte b = 10;

Β Β Β Β Β Β Β Β System.out.println(b); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ 10

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β byte b1 = (byte) 200;Β Β 

Β Β Β Β Β Β Β Β System.out.println(b1); // ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ -56

Β Β Β Β Β Β Β Β //<0…>_11001000 (int), конвСртируСтся Π² 11001000 (byte) ΠΏΡƒΡ‚Π΅ΠΌ удалСния Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… 24 Π±ΠΈΡ‚

Β Β Β Β Β Β Β Β // с Π»Π΅Π²Ρ‹ΠΉ Π±ΠΈΡ‚ Ρ€Π°Π²Π΅Π½ 1, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Β Β Β Β Β Β Β Β // дополняСт 11001000 -1 = 11000111

Β Β Β Β Β Β Β Β //ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ 00111000 Ρ‚. Π΅ 56, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ 56

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β b1 = (byte) 0b11001000;

Β Β Β Β Β Β Β Β System.out.println(b1); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ -56

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000

Β Β Β Β Β Β Β Β //Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΠΈΡ‚ Ρ€Π°Π²Π΅Π½ 0, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Β Β Β Β Β Β Β Β System.out.println(b2); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ 64

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β short s = 32;

Β Β Β Β Β Β Β Β short s1 = ‘A’; //нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ char Π² short

Β Β Β Β Β Β Β Β System.out.println(s1); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ 65

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β int i = ‘A’;

Β Β Β Β Β Β Β Β System.out.println(i); //ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ 65

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β long l = 3200L;

Β Β Β Β Β Β Β Β long l1 = 3200;

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β float f = 12.34f;

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β //ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Β Β Β Β Β Β Β Β byte x, y = 1, z = 2;

Β Β Β Β Β Β Β Β x = (byte) (y + z);

Β Β Β Β }

}

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… Π²ΠΈΠ΄Ρ‹ Π² языках программирования ΠΎΡ‚ Loftblog

Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ ΠΌΡ‹ посвятим Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² языках программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… языков python ΠΈ javascript.

Π’ΠΈΠ΄Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π”Π°Π½Π½Ρ‹Π΅ Π² языках программирования Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅.

Π―Π·Ρ‹ΠΊ программирования python ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

  • a) char β€” ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…;
  • b) int β€” цСлочислСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…;
  • c) float β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой;
  • d) double β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности;
  • e) bool β€” логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ языкС javascript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

  • a) srting β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… «строка»,
  • b) number β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… «число»,
  • c) boolean β€” логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…,
  • d) undefined β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹,
  • e) null β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… с «пустыми» значСниями,
  • f) object β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, хранящих свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” «строка»

Π’ javascript строкой β€” string β€” Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов). Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π±ΡƒΠΊΠ², чисСл, Π·Π½Π°ΠΊΠΎΠ²(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ запятыС) ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ· символов. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡ… Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… (Π½ΠΎ Π² js ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ…), Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ строка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ вмСстС ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ части. Подобно Ρ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ слоТСниС Π΄Π²ΡƒΡ… чисСл Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ число, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π΅ строки. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡΡ строка, состоящая ΠΈΠ· исходных строк, склССнных вмСстС. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа Π² строкС Π΅ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· строки. ΠžΡ‚ΡΡ‡Π΅Ρ‚ вСдСтся с нуля.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках программирования Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа. НапримСр, Π² языкС Π‘ это Β«charΒ».

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” «число»

Π•Π΄ΠΈΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ «число» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ для Ρ†Π΅Π»Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ для Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл.

Π’ языках программирования Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ числовых Π΄Π°Π½Π½Ρ‹Ρ…:

  • a) int β€” Ρ†Π΅Π»Ρ‹Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ числа Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части,
  • b) float β€” вСщСствСнныС, Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа с дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ,
  • c) double β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности,
  • d) number β€” числовыС Π΄Π°Π½Π½Ρ‹Π΅ Π² js.

Π¦Π΅Π»Ρ‹Π΅ числа Ρ…ΠΎΡ€ΠΎΡˆΠΈ для подсчСта Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Π° вСщСствСнныС β€” для измСрСния Ρ‚Π°ΠΊΠΈΡ… свойств, ΠΊΠ°ΠΊ вСс.

Π‘ΡƒΠ»Π΅Π²Ρ‹ΠΉ (логичСский) Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” boolean.

Π˜ΡΡ‚ΠΈΠ½Π° ΠΈΠ»ΠΈ лоТь? ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС, задавая вопросы ΠΈ анализируя ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ β€” Β«Π΄Π°Β» ΠΈΠ»ΠΈ Β«Π½Π΅Ρ‚Β». Вопросы, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ лишь Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π°, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π±ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ (логичСскими) выраТСниями.

Π‘ΡƒΠ»Π΅Π²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” true (истина) ΠΈΠ»ΠΈ false (лоТь). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС, сравнивая ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, числа ΠΈ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ β€” Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ true, Π»ΠΈΠ±ΠΎ false.

Π‘Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ null, undefined, object (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) β€” Π² javascript ΠΈΠ»ΠΈ list (список), tuple (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ), dict (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ) β€” Π² python. Но для понимания ΠΎΠ±Ρ‰ΠΈΡ… основ программирования Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ достаточно знания Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…: «число», «строка» ΠΈ Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

НС всС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ совмСстимы. ΠŸΠΎΡ€ΠΎΠΉ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΈΠ½Π°Ρ‡Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.
Π’ javascript ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ typeof Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π’ python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ type.

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎΠ³ΠΎ всСм просмотра! Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ с ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ΠΌ!

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ курсы

Java Core для самых ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 2. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… / Π₯Π°Π±Ρ€

ВступлСниС

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ IDE ΠΈ JDK. Однако Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ, ваш Ρ‚Ρ€ΡƒΠ΄ Π½Π΅ Π±Ρ‹Π» напрасным. Π£ΠΆΠ΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Java ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Π² IDEA. Π­Ρ‚Π° ΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ этапом. И Π² Π½Π°Ρ‡Π°Π»Π΅ вашСго обучСния, Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π΅ Ρ€Π°Π· ΠΊ Π½Π΅ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

1998 — ΠΏΠΈΠ½-ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ΅ΠΉ ΠΊΡ€Π΅Π΄ΠΈΡ‚ΠΊΠΈ являСтся Π½ΠΈΡ‡Π΅ΠΌ ΠΈΠ½Ρ‹ΠΌ ΠΊΠ°ΠΊ числом. По-ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ для нас — для людСй. 36,5 — Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ всС Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π’Π Π¦. Для нас это Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ число ΠΈΠ»ΠΈ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. «Java Core для самых ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ…» — Π° это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ сСрии статСй, ΠΈ ΠΌΡ‹ воспринимаСм это ΠΊΠ°ΠΊ тСкст. Π’Π°ΠΊ ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΆΠ΅ я Π²Π΅Π΄Ρƒ. А ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π”ΠΆΠ°Π²Π΅ (Ρ‚Π°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡΠΈΡ‚ΡŒ, Π½Π° Ρ‚ΠΎΡ‚ случай Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ произносит «ΡΠ²Π°«), ΠΊΠ°ΠΊ ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ с Ρ‡Π΅ΠΌ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ. Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… прСдстоит Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π€Π°Π½Π°Ρ‚Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ, надСюсь, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, вся информация Π² Π­Π’Πœ прСдставлСна Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†. А Π²ΠΎΡ‚ Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠ², Π½Π° Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅, Π΅ΡΡ‚ΡŒ высокоуровнСвыС языки программирования. Они Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нулями ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ, прСдоставляя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ понятный для людСй. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… языков ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ являСтся Java. Мало Ρ‚ΠΎΠ³ΠΎ, Java — это строго-Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования. А Π΅Ρ‰Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ языки с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Java Script). Но ΠΌΡ‹ здСсь ΡƒΡ‡ΠΈΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, поэтому Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ.

Π§Ρ‚ΠΎ для нас ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ строгая типизация? Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½. А Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ Π½Π° соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ поскорСС ΡƒΠ·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… прСдставлСны Π² Java!

ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹

Π’ языкС Java сущСствуСт 8, оскорблСнных сообщСством, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ простыми. И Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚:

  • Π¦Π΅Π»Ρ‹Π΅ числа со Π·Π½Π°ΠΊΠΎΠΌ: byte, short, int, long;

  • Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ: float, double;

  • Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹: char;

  • ЛогичСскиС значСния: boolean.

Π’ дальнСйшСм, комбинируя эти самыС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС структуры. Но ΠΎΠ± этом Π½Π°ΠΌ Π΅Ρ‰Π΅ Ρ€Π°Π½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ. БСйчас ΠΆΠ΅ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. 63-1. ΠœΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ значСния ΠΎΡ‚ -9223372036854775808 Π΄ΠΎ 9223372036854775807. Π£Π΄ΠΎΠ±Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСниях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° послС дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ (вычислСниС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синуса ΠΈΠ»ΠΈ косинуса ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ).

Π’ΠΈΠΏ float

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

Π’ΠΈΠΏ double

На Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ трСбуСтся 64 Π±ΠΈΡ‚Π°. Π Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ double, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ вычислСний ΠΈΠ»ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большими числами. 16. Π₯Ρ€Π°Π½ΠΈΡ‚ значСния ΠΎΡ‚ 0 Π΄ΠΎ 65536. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² сСбС ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… символов Π½Π° всСх извСстных языках ΠΌΠΈΡ€Π° (ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Unicode). Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΠΎ сути, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ прСдставляСт ΠΈΠ· сСбя ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ число. А Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… char позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это число являСтся символом.

Π’ΠΈΠΏ boolean

ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 значСния true ΠΈΠ»ΠΈ false. УпотрСбляСтся Π² условных выраТСниях. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ 1 > 10 Π²Π΅Ρ€Π½Π΅Ρ‚ false, Π° 1 < 10 — true.

На этом ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Java Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹. А Π΅Ρ‰Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΠΎΠ±Ρ‰Π΅ΠΌ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ насыщСнной ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉΒ» Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² C?

ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ являСтся ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ int . Они синонимы. short , short int , signed short ΠΈ signed short int — это ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΡ‡Π½ΠΎΠ΅ количСство Π±ΠΈΡ‚ΠΎΠ² Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΌ зависит ΠΎΡ‚ компилятора ΠΈ систСмы, Π½ΠΎ трСбуСтся ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 16 Π±ΠΈΡ‚:

Π›ΡŽΠ±ΠΎΠΉ компилятор, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρƒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ.ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹: рСализация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ любой ΠΈΠ»ΠΈ всС ΠΈΠ· Π½ΠΈΡ…. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для char зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, считаСтся Π»ΠΈ char подписанным ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌ. … ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int: ΠΎΡ‚ -32767 Π΄ΠΎ +32767.

Π•Ρ‰Ρ‘ ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ:

ЀактичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ЕдинствСнная гарантия — long long Π½Π΅ мСньшС long, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ мСньшС int, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ мСньшС short.ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, int Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ цСлочислСнным Ρ‚ΠΈΠΏΠΎΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ процСссор Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π­Ρ‚ΠΎ обСспСчиваСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ. Однако популярны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько схСм с цСлочислСнной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…), ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ модСль Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт способ взаимодСйствия Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π² интСрфСйсС прилоТСния Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Сдинообразная модСль Π΄Π°Π½Π½Ρ‹Ρ…. [3]

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ char ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 8 Π±ΠΈΡ‚, short ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 16 Π±ΠΈΡ‚, Π° long ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 32 Π±ΠΈΡ‚Π° (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ unsigned char, unsigned short ΠΈ unsigned long).НапримСр, это Π²Π΅Ρ€Π½ΠΎ для самых Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Sun0S 4 Unix 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ², Microsoft MSDOS, соврСмСнный Linux ΠΈ Microchip MCC18 для встроСнных 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² PIC.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

Π’ LP64 (всС 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ Windows): char — 8 Π±ΠΈΡ‚, short — 16 Π±ΠΈΡ‚, int — 32 Π±ΠΈΡ‚, long — 64 Π±ΠΈΡ‚, long long — 128 Π±ΠΈΡ‚.

Windows сохраняСт LLP64: char — 8 Π±ΠΈΡ‚, short — 16 Π±ΠΈΡ‚, int — 32 Π±ΠΈΡ‚, long — 32 Π±ΠΈΡ‚, long long — 64 Π±ΠΈΡ‚.

Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft

  • 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

32-разрядныС ΠΈ 64-разрядныС компиляторы Microsoft C ++ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄Π°Π»Π΅Π΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

  • int ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ int )

  • __int8 ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ __int8 )

  • __int16 ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ __int16 )

  • __int32 ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ __int32 )

  • __int64 ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ __int64 )

  • ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ )

  • Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ )

  • Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ( Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ )

Если Π΅Π³ΠΎ имя начинаСтся с Π΄Π²ΡƒΡ… Π·Π½Π°ΠΊΠΎΠ² подчСркивания ( __ ), Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… нСстандартный.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ΠΈΠΏ НазваниС Π±Π°ΠΉΡ‚ΠΎΠ² Π”Ρ€ΡƒΠ³ΠΈΠ΅ названия Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ 4 подписано -2 147 483 648 Π΄ΠΎ 2 147 483 647
Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 4 Π±Π΅Π· Π·Π½Π°ΠΊΠ° 0 Π΄ΠΎ 4 294 967 295
__int8 1 Π·Π½Π°ΠΊ -128 Π΄ΠΎ 127
Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ __int8 1 символ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΎΡ‚ 0 Π΄ΠΎ 255
__int16 2 ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ , ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int , подписанный ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int -32 768 Π΄ΠΎ 32 767
Π±Π΅Π· Π·Π½Π°ΠΊΠ° __int16 2 Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ , Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int ΠΎΡ‚ 0 Π΄ΠΎ 65 535
__int32 4 подписано , подписано int , int -2 147 483 648 до 2 147 483 647
Π±Π΅Π· Π·Π½Π°ΠΊΠ° __int32 4 Π±Π΅Π· Π·Π½Π°ΠΊΠ° , Π±Π΅Π· Π·Π½Π°ΠΊΠ° Ρ†Π΅Π»ΠΎΠ΅ 0 Π΄ΠΎ 4 294 967 295
__int64 8 Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ , подписанный Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ -9,223,372,036,854,775,808 Π΄ΠΎ 9,223,372,036,854,775,807
Π±Π΅Π· Π·Π½Π°ΠΊΠ° __int64 8 Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 0 Π΄ΠΎ 18 446 744 073 709 551 615
Π±ΡƒΠ»Π΅Π² 1 Π½Π΅Ρ‚ лоТь ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π΄Π°
символ 1 Π½Π΅Ρ‚ ΠΎΡ‚ -128 Π΄ΠΎ 127 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠžΡ‚ 0 Π΄ΠΎ 255 ΠΏΡ€ΠΈ компиляции с использованиСм / J

символ со Π·Π½Π°ΠΊΠΎΠΌ 1 Π½Π΅Ρ‚ -128 Π΄ΠΎ 127
символ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 1 Π½Π΅Ρ‚ ΠΎΡ‚ 0 Π΄ΠΎ 255
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ 2 ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ , подписанноС ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ -32 768 Π΄ΠΎ 32 767
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 2 Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 65 535
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 4 Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» , Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» со Π·Π½Π°ΠΊΠΎΠΌ -2 147 483 648 Π΄ΠΎ 2 147 483 647
Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 4 Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ 0 Π΄ΠΎ 4 294 967 295
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 8 Π½Π΅Ρ‚ (Π½ΠΎ эквивалСнтно __int64 ) -9,223,372,036,854,775,808 Π΄ΠΎ 9,223,372,036,854,775,807
Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 8 Π½Π΅Ρ‚ (Π½ΠΎ эквивалСнтно Π±Π΅Π· Π·Π½Π°ΠΊΠ° __int64 ) 0 Π΄ΠΎ 18 446 744 073 709 551 615
пСрСчислСниС Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π½Π΅Ρ‚
с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой 4 Π½Π΅Ρ‚ 3. 4E +/- 38 (7 Ρ†ΠΈΡ„Ρ€)
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 8 Π½Π΅Ρ‚ 1.7E +/- 308 (15 Ρ†ΠΈΡ„Ρ€)
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π½Π΅Ρ‚ Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ
wchar_t 2 __wchar_t ΠΎΡ‚ 0 Π΄ΠΎ 65 535

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, пСрСмСнная __wchar_t ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π»ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символов, Π»ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… символов.Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфикс L ΠΏΠ΅Ρ€Π΅Π΄ символьной ΠΈΠ»ΠΈ строковой константой для обозначСния константы Ρ‚ΠΈΠΏΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символов.

signed ΠΈ unsigned — это ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ Ρ†Π΅Π»Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ bool . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ char , signed char ΠΈ unsigned char — это Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° для Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

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

C / C ++ Π² Visual Studio Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. __int8, __int16, __int32, __int64 ΠΈ цСлочислСнныС ограничСния.

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ограничСниях Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° см. ВстроСнныС Ρ‚ΠΈΠΏΡ‹.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ пСрСчисляСмых Ρ‚ΠΈΠΏΠΎΠ² зависит ΠΎΡ‚ языкового контСкста ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² компилятора. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. ОбъявлСния ΠΈ пСрСчислСния пСрСчислСний C.

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова
ВстроСнныС Ρ‚ΠΈΠΏΡ‹

ВстроСнныС Ρ‚ΠΈΠΏΡ‹ (C ++) | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft

  • 5 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ВстроСнныС Ρ‚ΠΈΠΏΡ‹ (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ стандартом языка C ++ ΠΈ встроСны Π² компилятор.ВстроСнныС Ρ‚ΠΈΠΏΡ‹ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. ВстроСнныС Ρ‚ΠΈΠΏΡ‹ дСлятся Π½Π° Ρ‚Ρ€ΠΈ основныС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: Ρ†Π΅Π»ΠΎΠ΅ , с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ пустоС . ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ†Π΅Π»Ρ‹Π΅ числа. Π’ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ части. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ встроСнных Ρ‚ΠΈΠΏΠΎΠ² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ компилятором ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ синонимами ΠΈΠ»ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ компилятором ΠΊΠ°ΠΊ эквивалСнтныС Ρ‚ΠΈΠΏΡ‹.

Π’ΠΈΠΏ пустоты

Π’ΠΈΠΏ void описываСт пустой Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ‚ΠΈΠΏΠ° void Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π°. Π’ΠΈΠΏ void ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΠ»ΠΈ для объявлСния ΠΎΠ±Ρ‰ΠΈΡ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π›ΡŽΠ±ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ привСсти ΠΊ Ρ‚ΠΈΠΏΡƒ void . Однако Ρ‚Π°ΠΊΠΈΠ΅ выраТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

std :: nullptr_t

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово nullptr — это константа Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ указатСля Ρ‚ΠΈΠΏΠ° std :: nullptr_t , которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² любой Ρ‚ΠΈΠΏ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ указатСля.Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. nullptr .

ЛогичСский Ρ‚ΠΈΠΏ

Π’ΠΈΠΏ bool ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ значСния true ΠΈ false . Π Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠ° bool зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» Β«Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ встроСнных Ρ‚ΠΈΠΏΠΎΠ²Β» для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Microsoft.

Π’ΠΈΠΏΡ‹ символов

Π’ΠΈΠΏ char — это Ρ‚ΠΈΠΏ символьного прСдставлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ эффСктивно ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов выполнСния.ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C ++ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° char , signed char ΠΈ unsigned char ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.

, спСцифичный для Microsoft : ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° char ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ΡΡ Π΄ΠΎ int , ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ· Ρ‚ΠΈΠΏΠ° signed char , Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ компиляции / J . Π’ этом случаС ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ unsigned char ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ΡΡ Π΄ΠΎ int Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π½Π°ΠΊΠ°.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ‚ΠΈΠΏΠ° wchar_t — это Ρ‚ΠΈΠΏ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символов ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… символов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфикс L ΠΏΠ΅Ρ€Π΅Π΄ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ строковым Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символов.

для Microsoft : ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ wchar_t являСтся собствСнным Ρ‚ΠΈΠΏΠΎΠΌ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ / Zc: wchar_t- , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ wchar_t typedef для unsigned short . Π’ΠΈΠΏ __wchar_t — это спСцифичный для Microsoft синоним для собствСнного Ρ‚ΠΈΠΏΠ° wchar_t .

Π’ΠΈΠΏ char8_t ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния символов UTF-8. Он ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ прСдставлСниС, Ρ‡Ρ‚ΠΎ ΠΈ unsigned char , Π½ΠΎ рассматриваСтся компилятором ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π’ΠΈΠΏ char8_t являСтся Π½ΠΎΠ²Ρ‹ΠΌ Π² C ++ 20. Для Microsoft : для использования char8_t трСбуСтся опция компилятора / std: c ++ latest .

Π’ΠΈΠΏ char16_t ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния символов UTF-16.Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достаточно большим, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ UTF-16. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ рассматриваСт Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ.

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

Π’ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой

Π’ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прСдставлСниС IEEE-754 для аппроксимации Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны Ρ‚ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² C ++ ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ограничСния Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Π­Ρ‚ΠΈ ограничСния прСдусмотрСны стандартом C ++ ΠΈ Π½Π΅ зависят ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Microsoft. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ встроСнных Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² стандартС Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½.

Π’ΠΈΠΏ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π’ΠΈΠΏ float — наимСньший Ρ‚ΠΈΠΏ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² C ++.
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π’ΠΈΠΏ double — это Ρ‚ΠΈΠΏ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ Ρ‚ΠΈΠΏΡƒ float , Π½ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ‚ΠΈΠΏΠ° long double .
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π’ΠΈΠΏ long double — это Ρ‚ΠΈΠΏ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ Ρ‚ΠΈΠΏΡƒ double .

Для Microsoft : прСдставлСниС long double ΠΈ double ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ. Однако long double ΠΈ double Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ компилятором ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Microsoft C ++ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 4- ΠΈ 8-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ прСдставлСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой IEEE-754. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой IEEE.

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹

Π’ΠΈΠΏ int являСтся основным цСлочислСнным Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ всС Ρ†Π΅Π»Ρ‹Π΅ числа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, зависящСм ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° опрСдСляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² Π±ΠΈΡ‚Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ цСлочислСнного прСдставлСния.Π―Π·Ρ‹ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ short , long ΠΈ long long . Π’ΠΈΠΏ short Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 16 Π±ΠΈΡ‚. Π’ΠΈΠΏ long Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 32 Π±ΠΈΡ‚Π°. Π’ΠΈΠΏ long long Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 64 Π±ΠΈΡ‚. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ опрСдСляСт ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ:

1 == sizeof (char) <= sizeof (ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ) <= sizeof (int) <= sizeof (Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ) <= sizeof (Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ)

РСализация Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ, Ρ‚Π°ΠΊ ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.Однако фактичСскиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» Β«Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ встроСнных Ρ‚ΠΈΠΏΠΎΠ²Β» для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Microsoft.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово int ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ, Ссли ΡƒΠΊΠ°Π·Π°Π½Ρ‹ со Π·Π½Π°ΠΊΠΎΠΌ , Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚ΠΈΠΏ int , Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² любом порядкС. НапримСр, short unsigned ΠΈ unsigned int short относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ.

Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹ цСлочислСнного Ρ‚ΠΈΠΏΠ°

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚ΠΈΠΏΠΎΠ² ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ компилятором синонимами:

  • ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ , ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int , подписанный ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ , подписанный ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int

  • Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ , Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅

  • Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ , подписанный , подписанный int

  • Π±Π΅Π· Π·Π½Π°ΠΊΠ° , Π±Π΅Π· Π·Π½Π°ΠΊΠ° Ρ†Π΅Π»ΠΎΠ΅

  • long , long int , long int , long int

  • Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ , Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅

  • long long , long long int , long long long со Π·Π½Π°ΠΊΠΎΠΌ , long long со Π·Π½Π°ΠΊΠΎΠΌ int

  • unsigned long long , unsigned long long int

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ , спСцифичныС для Microsoft, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ __int8 , __int16 , __int32 ΠΈ __int64 . Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ со Π·Π½Π°ΠΊΠΎΠΌ ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ° . Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… __int8 являСтся синонимом Ρ‚ΠΈΠΏΠ° char , __int16 синонимичСн Ρ‚ΠΈΠΏΡƒ short , __int32 синонимичСн Ρ‚ΠΈΠΏΡƒ int 54 ΠΈ int 5 __int64 являСтся синонимом Ρ‚ΠΈΠΏΠ° long long .

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ встраиваСмых Ρ‚ΠΈΠΏΠΎΠ²

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ встроСнных Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, опрСдСляСмыС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡƒΠΊΠ°Π·Π°Π½ объСм Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π² Microsoft C ++. Π’ частности, long составляСт 4 Π±Π°ΠΉΡ‚Π° Π΄Π°ΠΆΠ΅ Π² 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах.

Π’ΠΈΠΏ Π Π°Π·ΠΌΠ΅Ρ€
bool , char , char8_t , Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ char , со Π·Π½Π°ΠΊΠΎΠΌ , __int8

1 Π±Π°ΠΉΡ‚
char16_t , __int16 , ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ , ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° , wchar_t , __wchar_t

2 Π±Π°ΠΉΡ‚Π°
char32_t , с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой , __int32 , int , Π±Π΅Π· Π·Π½Π°ΠΊΠ° int , long со Π·Π½Π°ΠΊΠΎΠΌ Π±Π΅Π· Π·Π½Π°ΠΊΠ°

4 Π±Π°ΠΉΡ‚Π°
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ , __int64 , Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ , Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ , Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 8 Π±Π°ΠΉΡ‚

Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для получСния сводной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² см. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ прСобразования.

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ARM C ΠΈ C ++

Home / Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ компилятора

10.2 Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ARM C ΠΈ C ++

ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ARM C ΠΈ C ++:

Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ основных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹
ΠΈ СстСствСнноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ основных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°Π±Π»ΠΈΡ†Π° 10-2 Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π Π°Π·ΠΌΠ΅Ρ€ Π² Π±ΠΈΡ‚Π°Ρ… ЕстСствСнноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π² Π±Π°ΠΉΡ‚Π°Ρ… Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π·Π½Π°ΠΊ 8 1 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π±Π°ΠΉΡ‚Π°ΠΌ)

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ 0 Π΄ΠΎ 255 (Π±Π΅Π· Π·Π½Π°ΠΊΠ°).

ΠΎΡ‚ –128 Π΄ΠΎ 127 (со Π·Π½Π°ΠΊΠΎΠΌ) ΠΏΡ€ΠΈ компиляции с --signed_chars .

символ со Π·Π½Π°ΠΊΠΎΠΌ 8 1 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π±Π°ΠΉΡ‚Π°ΠΌ)

–128 Π΄ΠΎ 127

символ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 8 1 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π±Π°ΠΉΡ‚Π°ΠΌ)

0 Π΄ΠΎ 255

(подпись) короткая 16 2 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ полуслову) –32 768 Π΄ΠΎ 32 767
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 16 2 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ полуслову) 0 Π΄ΠΎ 65 535
(со Π·Π½Π°ΠΊΠΎΠΌ) Π²Π½ΡƒΡ‚Ρ€ 32 4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам) –2 147 483 648 Π΄ΠΎ 2 147 483 647
Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° 32 4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам) 0 Π΄ΠΎ 4 294 967 295
(со Π·Π½Π°ΠΊΠΎΠΌ) Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 32 4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам) –2 147 483 648 Π΄ΠΎ 2 147 483 647
Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ 32 4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам) 0 Π΄ΠΎ 4 294 967 295
(со Π·Π½Π°ΠΊΠΎΠΌ) Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 64 8 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ слову) –9,223,372,036,854,775,808 Π΄ΠΎ 9,223,372,036,854,775,807
Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 64 8 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ слову) 0 Π΄ΠΎ 18 446 744 073 709 551 615
с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой 32 4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам) 1. 175494351e-38 Π΄ΠΎ 3.40282347e + 38 (Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния)
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 64 8 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ слову) 2.22507385850720138e-308 Π΄ΠΎ 1.79769313486231571e + 308 (Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния)
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 64 8 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ слову) 2.22507385850720138e-308 ΠΊ 1.79769313486231571e + 308 (Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния)
wchar_t

16

32

2 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ полуслову)

4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам)

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ 0 Π΄ΠΎ 65 535.

0 Π΄ΠΎ 4,294,967,295 ΠΏΡ€ΠΈ компиляции с --wchar32 .

ВсС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ 32 4 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ словам) НС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ.
bool (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ C ++) 8 1 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π±Π°ΠΉΡ‚Π°ΠΌ) лоТь ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π΄Π°
_Bool (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ C a ) 8 1 (с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π±Π°ΠΉΡ‚Π°ΠΌ) лоТь ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π΄Π°

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² зависит ΠΎΡ‚ контСкста:

  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся Π² рСгистрах, Π½ΠΎ
    ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² стСк, ΠΎΠ½ΠΈ всСгда Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ словам. НапримСр, пСрСмСнная Ρ€Π°Π·Π»ΠΈΡ‚ΠΎΠ³ΠΎ локального символа ΠΈΠΌΠ΅Π΅Ρ‚
    Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ 4.

  • ЕстСствСнноС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° 1.

Π¦Π΅Π»ΠΎΠ΅ число

Π¦Π΅Π»Ρ‹Π΅ числа прСдставлСны Π² Π²ΠΈΠ΄Π΅ дополнСния Π΄ΠΎ Π΄Π²ΡƒΡ…. Низкий
слово ΠΈΠ· long long находится ΠΏΠΎ ΠΌΠ»Π°Π΄ΡˆΠ΅ΠΌΡƒ адрСсу Π²
Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прямого порядка Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ ΠΏΠΎ ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌΡƒ адрСсу Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прямого порядка Π±Π°ΠΉΡ‚ΠΎΠ².

Поплавок

Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой хранятся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ IEEE:

Для Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… количСства
слово, содСрТащСС Π·Π½Π°ΠΊ, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСпСни ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΉ
Ρ‡Π°ΡΡ‚ΡŒ мантиссы сохраняСтся с младшим адрСсом ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π²
Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прямого порядка Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ ΠΏΠΎ ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌΡƒ адрСсу Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прямого порядка Π±Π°ΠΉΡ‚ΠΎΠ².

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ утвСрТдСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎ всСм указатСлям Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹
Π² C ΠΈ C ++, ΠΊΡ€ΠΎΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ‡Π»Π΅Π½Ρ‹:

  • БосСдниС Π±Π°ΠΉΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ адрСса
    ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½.

  • ΠœΠ°ΠΊΡ€ΠΎΡ NULL Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ
    Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.

  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ указатСлями ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ
    Π±Π΅Π· измСнСния ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ ΠΎ привСдСниях ΠΌΠ΅ΠΆΠ΄Ρƒ указатСлями Π½Π°
    Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅.

  • Π’ΠΈΠΏ size_t опрСдСляСтся ΠΊΠ°ΠΊ Π±Π΅Π· Π·Π½Π°ΠΊΠ°
    ΠΈΠ½Ρ‚
    .

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ‚ΠΈΠΏ ptrdiff_t
    как со знаком int .

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… языка C | Studytonight

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π² наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ. Π’ языкС C Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΡƒΡŽ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ хранСния.

Π―Π·Ρ‹ΠΊ C ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 2 Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…:

  1. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… :

    Π­Ρ‚ΠΎ основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа ( int ), с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ( float ), ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ( char ) ΠΈ void .

  2. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… :

    ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… - это Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ скручСнныС ΠΈΠ»ΠΈ сгруппированныС вмСстС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ массив , структура , объСдинСниС ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ .Они ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ·ΠΆΠ΅.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ пСрСмСнная. Если
пСрСмСнная x объявлСна ​​как int . это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ x ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ значСния.
КаТдая пСрСмСнная, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ объявлСна ​​как
Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… это.


ЦСлочислСнный Ρ‚ΠΈΠΏ

Π¦Π΅Π»Ρ‹Π΅ числа ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ цСлочислСнного Ρ‚ΠΈΠΏΠ° Π½Π° 16-Π±ΠΈΡ‚Π½ΠΎΠΉ машинС:

ΠΎΡ‚ 0 Π΄ΠΎ 65176

Π’ΠΈΠΏ Π Π°Π·ΠΌΠ΅Ρ€ (Π±Π°ΠΉΡ‚Ρ‹) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
int ΠΈΠ»ΠΈ Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ 2 ΠΎΡ‚ -32,768 Π΄ΠΎ 32767
Π±Π΅Π· Π·Π½Π°ΠΊΠ° int 2 Π±Π΅Π· Π·Π½Π°ΠΊΠ°

ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ 1 ΠΎΡ‚ -128 Π΄ΠΎ 127
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 1 ΠΎΡ‚ 0 Π΄ΠΎ 255
Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ со Π·Π½Π°ΠΊΠΎΠΌ 4 -2,147,483,648 Π΄ΠΎ 2,117847

unsigned long int 4 ΠΎΡ‚ 0 Π΄ΠΎ 4,294,967,295

Π’ΠΈΠΏ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой

ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ цСлочислСнного Ρ‚ΠΈΠΏΠ° Π½Π° 16-Π±ΠΈΡ‚Π½ΠΎΠΉ машинС

Π’ΠΈΠΏ Π Π°Π·ΠΌΠ΅Ρ€ (Π±Π°ΠΉΡ‚Ρ‹) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
Float 4 3.4E-38 Π΄ΠΎ 3.4E + 38
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 8 1.7E-308 Π΄ΠΎ 1.7E-308 Π΄ΠΎ 308
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 10 3.4E-4932 Π΄ΠΎ 1.1E + 4932

Вип символа

Π’ΠΈΠΏΡ‹ символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ символов.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ цСлочислСнного Ρ‚ΠΈΠΏΠ° Π½Π° 16-Π±ΠΈΡ‚Π½ΠΎΠΉ машинС

void Ρ‚ΠΈΠΏ

void type ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС значСния. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для указания Ρ‚ΠΈΠΏΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚. ΠœΡ‹ познакомимся с этим Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ‡Π½Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ‚Π΅ΠΌΡ‹ Π½Π° языкС C, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ‚. Π”.



Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C ++ - Byte-Notes

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ информация хранится Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… . ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ простоС число, Π±ΡƒΠΊΠ²Π° ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ большоС число. Как ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π±Π°ΠΉΡ‚ΠΎΠ² , ΠΈ для этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ связан Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм памяти Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° - это Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСбольшой объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π»Π΅Π³ΠΊΠΎ управляСтся.КаТдая пСрСмСнная ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ с двумя сущностями, Π΅Π΅ Ρ‚ΠΈΠΏΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’ C ++ доступно нСсколько Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ встроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: char , int , float , do uble ΠΈ bool . Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… void, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·. C ++ Ρ‚Π°ΠΊΠΆΠ΅ допускаСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… . Один ΠΈΠ· Π½ΠΈΡ… - классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ обсуТдали здСсь .

Π’ΠΈΠΏ Π Π°Π·ΠΌΠ΅Ρ€ (Π±Π°ΠΉΡ‚Ρ‹) Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
символ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ символ 1-128 Π΄ΠΎ 127
Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ символ 1 ΠΎΡ‚ 0 Π΄ΠΎ
Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C ++
Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠŸΠ°ΠΌΡΡ‚ΡŒ (Π±Π°ΠΉΡ‚Ρ‹) МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Bool 1 ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ T / F ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ T / F
Char 1 -128 127
Π‘ΠΈΠΌΠ²ΠΎΠ» Π±Π΅Π· Π·Π½Π°ΠΊΠ° 1 0 255
ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ 2-32768 32767
Unsigned Short 2 0 65535
Π²Π½ΡƒΡ‚Ρ€ 2-32768 32767
Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° 2 0 65535
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ 4 -2147483648 2147483647
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 4 0 4294967295
ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ 4 10 -38 10 38
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 8 10 -308 10 308
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 10 10-4932 10 4932

ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C ++

символ

C ++ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ символ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«aΒ» ΠΈΠ»ΠΈ Β«AΒ». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° char, Ρƒ нас Π΅ΡΡ‚ΡŒ

Char ch;

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ символьноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«aΒ» Π² Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… char ch, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Ch = Β«Π°Β»;

Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° char ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ символ. Запятая Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… строках, ΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ.

Ρ†Π΅Π»ΠΎΠ΅

На Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ машин Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠ° int Ρ€Π°Π²Π΅Π½ 2 Π±Π°ΠΉΡ‚Π° .C ++ опрСдСляСт этот Ρ‚ΠΈΠΏ ΠΊΠ°ΠΊ состоящий ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ -32768 Π΄ΠΎ 32767 . Π­Ρ‚ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для ΠΌΠ°Π»Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Если трСбуСтся Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ long ΠΈΠ»ΠΈ long int. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… int слишком Π²Π΅Π»ΠΈΠΊ: ΠΎΡ‚ -2147483648 Π΄ΠΎ 2147483647 , Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° Π² памяти .

Поплавок

C ++ опрСдСляСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… float ΠΊΠ°ΠΊ прСдставлСниС чисСл с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ. НапримСр, 12.55 Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ†Π΅Π»Ρ‹Ρ… чисСл, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ малСнькими ΠΈΠ»ΠΈ большими. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ‚ΠΈΠΏΠ° float Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ числа ΠΎΡ‚ 10-308 Π΄ΠΎ 10-308 с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΊΠΎΠ»ΠΎ 15 Ρ†ΠΈΡ„Ρ€. Π’Π°ΠΊΠΆΠ΅ имССтся Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ числа ΠΎΡ‚ 10–4932 Π΄ΠΎ 10-4932.

Bool

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Β«CΒ», это Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для прСдставлСния логичСского значСния . ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, связанной с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… bool, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСно цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρƒ true ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρƒ false .

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C ++

ПослС проСктирования скваТины, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° C ++, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ систСмной памяти. БистСмС Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ объСм памяти. Как ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ Π² ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… , сохранСниС Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΈΠ»ΠΈ символа Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ мСсто Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, обсуТдаСмый Π½ΠΈΠΆΠ΅, ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ характСристики, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для хранСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с этим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, связанным с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… C ++ хранятся Π² памяти Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Char ΠΈ int ΠΈΠΌΠ΅ΡŽΡ‚ нСподписанныС вСрсии, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ unsigned char, unsigned int ΠΈ unsigned long. ИспользованиС Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ измСняСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° unsigned int. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ числа ΠΎΡ‚ 0 Π΄ΠΎ 65 535, Π° Π½Π΅ ΠΎΡ‚ -32 768 Π΄ΠΎ 32767. ИспользованиС Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… чисСл довольно часто. Π‘Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ называСтся ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ измСняСм способ использования памяти.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах short ΠΈ int ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ….ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ int ΠΈ short Π² систСмС, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ руководство. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° int ΠΈ short ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊ плюс (+) ΠΈΠ»ΠΈ Π·Π½Π°ΠΊ минус (-). Π¦Π΅Π»Ρ‹Π΅ числа - это числа, Π½Π΅ содСрТащиС дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ. Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Ρ†Π΅Π»Ρ‹Ρ…, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ хранятся Π² Π΄Π²ΡƒΡ… частях, Π° Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ. Одна Ρ‡Π°ΡΡ‚ΡŒ называСтся мантиссой, Π° другая - ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠœΠ°Π½Ρ‚ΠΈΡΡΠ° - это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСпСни - это ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½Π° Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π°.Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π°ΡƒΡ‡Π½ΠΎΠΌ прСдставлСнии. Π­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ запись - это число, содСрТащСС Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт Π±ΡƒΠΊΠ²Π° E ΠΈ цСлочислСнная константа. ОбС Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°ΠΊΡƒ Β«+Β» ΠΈΠ»ΠΈ Β«_Β».

НапримСр

+3.1476

-0,967

-0,628E4

0,527E2

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послС "E" - это ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ 10, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр

+0.527E2 эквивалСнтно 52,7

-0,628E7 эквивалСнтно -6280000

1.0E-4 эквивалСнтно .0001

Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚ систСмы ΠΊ систСмС. Π­Ρ‚ΠΎ Π½Π° 100% зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π²Π°ΠΌΠΈ систСмной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. НапримСр, int, это 4 Π±Π°ΠΉΡ‚Π° Π½Π° 32-Π±ΠΈΡ‚Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π½Π° 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… это 2 Π±Π°ΠΉΡ‚Π°. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это зависит ΠΎΡ‚ компилятора ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, 65, это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ASCII "A".

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² C - javatpoint

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ пСрСмСнная, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ†Π΅Π»Ρ‹Π΅, ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ‚. Π”.

Π’ языкС C Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΈΠΏΡ‹ Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
Π’ΠΈΠΏ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… int, char, float, double
Π’ΠΈΠΏ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… массив, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, структура, объСдинСниС
Enumeration 9017 Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… пСрСчислимого Ρ‚ΠΈΠΏΠ° 9017
ΠŸΡƒΡΡ‚ΠΎΡ‚Π° Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… пустота

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… основаны Π½Π° Ρ†Π΅Π»Ρ‹Ρ… числах ΠΈ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.Π―Π·Ρ‹ΠΊ C ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ подписанныС, Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹.

Π Π°Π·ΠΌΠ΅Ρ€ памяти для основных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ 32- ΠΈΠ»ΠΈ 64-разрядной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π•Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π°Π²Π΅Π½ согласно 32-Π±ΠΈΡ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ .

32167 Π±Π΅Π· Π·Π½Π°ΠΊΠ°

ΠΎΡ‚

Π΄ΠΎ

6 914 9017 9017 914 914 914 с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой
Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π Π°Π·ΠΌΠ΅Ρ€ памяти Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
символ 1 Π±Π°ΠΉΡ‚ βˆ’128 Π΄ΠΎ 127
Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ символ 1 Π±Π°ΠΉΡ‚ βˆ’128 char 1 Π±Π°ΠΉΡ‚ ΠΎΡ‚ 0 Π΄ΠΎ 255
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ 2 Π±Π°ΠΉΡ‚Π° βˆ’32,768 Π΄ΠΎ 32,767
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ со Π·Π½Π°ΠΊΠΎΠΌ 2 Π±Π°ΠΉΡ‚Π° 2 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ 0 Π΄ΠΎ 65,535
int 2 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ βˆ’32,768 Π΄ΠΎ 32,767
int со Π·Π½Π°ΠΊΠΎΠΌ 2 Π±Π°ΠΉΡ‚Π° βˆ’32,768 Π΄ΠΎ 32,767 Π±Π΅Π· Π·Π½Π°ΠΊΠ°

Π±Π΅Π· Π·Π½Π°ΠΊΠ°

Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π±Π°ΠΉΡ‚ ΠΎΡ‚ 0 Π΄ΠΎ 65,535
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ int 2 Π±Π°ΠΉΡ‚Π° βˆ’32,768 Π΄ΠΎ 32,767
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ 2 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ βˆ’32,768 Π΄ΠΎ 32,767
ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° 2 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ 0 Π΄ΠΎ 65,535
Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число –2,648 ΠΎΡ‚ 2 Π΄ΠΎ 2,648

Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ 4 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ -2 147 483 648 Π΄ΠΎ 2 147 483 647
Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° 4 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ 0 Π΄ΠΎ 4 294 967 295
8 Π±Π°ΠΉΡ‚
Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ 10 Π±Π°ΠΉΡ‚

.

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

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