Unsigned int unsigned long int: visual studio — C++ difference between unsigned int and unsigned long int
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
C++ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned int ΠΈ unsigned long int
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ C++ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ unsigned int ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ 0 Π΄ΠΎ 65535 . ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 16 Π±ΠΈΡΠ°ΠΌ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Ρ. Π΅. ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ) ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ unsigned int Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, unsigned long int Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 4294967295 . ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 32 Π±ΠΈΡΠ°ΠΌ. ΠΠΏΡΡΡ ΠΆΠ΅, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ.
ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ unsigned int ΠΈ unsigned long int , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌΠΈ. ΠΠ»ΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠΈΡ
Π΄ΠΎ be 64 Π±ΠΈΡΠ°. ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Visual Studio 2015 ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΈ unsigned int , ΠΈ unsigned long int ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ 0 Π΄ΠΎ 4294967295 .
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ g++, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΡΠΈΡΡΠ΅ΠΌ, Π²ΡΠ±ΠΎΡ ΡΠ°ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ±ΠΎΡΠΊΠ° g++ Π΄Π»Ρ 32-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π΄Π»Ρ unsigned long , ΡΠ΅ΠΌ ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ 64-bit.
Π§ΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²Π°ΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠ»Ρ Π΄Π»ΠΈΠ½Π½ΡΡ 64 Π±ΠΈΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π²ΡΡ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΡΠΎΠ»ΠΊΠ° 4 294 967 295 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ?
ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ
ΠΎΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π΄Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² C++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½), Π½Π°Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ 0 Π΄ΠΎ 4294967295 , Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π² ΡΡΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ 4294967296 [ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΡΡΡ]). ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ «wrap around».
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² Visual Studio, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ unsigned == unsigned long. ΠΡΠ°Π²Π΄Π° ΠΈΠ»ΠΈ Π»ΠΎΠΆΡ?
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Visual Studio 2015 ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΡΡΠ»Π°Π΅ΡΠ΅ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΡΡ Π²Π΅ΡΠ½ΠΎ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Microsoft — ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ GNU, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π½Π°Π΄ Linux/Windows, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ unsigned long == unsigned int ΠΈΠ»ΠΈ unsigned long == unsigned long long, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ°Π²Π΄Π° ΠΈΠ»ΠΈ ΠΠΎΠΆΡ
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π»ΠΎΠΆΡ.
ΠΡΠΎ Π²Π΅ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Π»ΡΡ Π½Π° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ unsigned , ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΏΠΎΠ².
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ Visual Studio/GNU/Clang/Intel, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ°Π²Π΄Π° ΠΈΠ»ΠΈ ΠΠΎΠΆΡ
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ C++, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ (ΠΊΠ°ΠΊ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π²ΡΡΠ΅, Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΏΠΎΠ² Π±Π΅Π· Π·Π½Π°ΠΊΠ°).
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ° C++ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ windows API, posix, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²Ρ ΠΎΠ΄ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡ C++), ΡΠΎ ΡΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ°ΠΆΠ΅ Π² ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²Π΅ΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ windows API, Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΡΠ΅ΠΌ Π²Π΅ΡΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ posix. Π Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ (makefile ΠΈ Ρ. Π.) — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠΎΠΈΡΠ΅ Π΄Π»Ρ windows, Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΈ Π½Π΅ ΡΠ²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ Π²Π΅ΡΡΠΈΠΈ unix.
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned long ΠΈ unsigned long long?
Π― ΠΎΠΆΠΈΠ΄Π°Π», ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΈΠΌ. ΠΠΎ ΠΎΠ±Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ 8 Π±Π°ΠΉΡ.
#include <iostream>
using namespace std;
int main()
{
cout<<"Size of long:"<<sizeof(unsigned long)<<"\n";
cout<<"Size of Long Long:"<< sizeof(unsigned long long)<<"\n";
}
Output:
Size of long:8
Size of Long Long:8
c++
long-integer
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
cppcoder Β Β
08 ΠΌΠ°ΡΡΠ° 2012 Π² 04:40
3 ΠΎΡΠ²Π΅ΡΠ°
- C++ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned int ΠΈ unsigned long int
Π― Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ C++ Π½Π° Windows Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Visual Studio, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Visual Studio 2015 Update 3. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ DSP, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ unsigned int / unsigned long ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . ΠΠ½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ C/C++. Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Π» Π²…
- Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned long ΠΈ UINT64
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned long ΠΈ UINT64 ? Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅, Π½ΠΎ Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ UINT64 ΡΠ²Π»ΡΠ΅ΡΡΡ : typedef unsigned __int64 UINT64 (Ρ ΠΏΠΎΠΌΠΎΡΡΡ StdAfx.h)
10
ΠΡΠΎ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠ°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
unsigned long Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 32 Π±ΠΈΡ. unsigned long long Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 64 Π±ΠΈΡ. (ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ.)
ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 64 Π±ΠΈΡ.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π·Π½Π°ΡΠΈΡΡ unsigned long long ΠΎΠ±ΡΠ΅ΠΊΡΡ unsigned long , ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π½Π΅ΡΠ²Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ unsigned long long ΡΡΠ½ΠΊΡΠΈΠΈ , ΠΎΠΆΠΈΠ΄Π°ΡΡΠ΅ΠΉ unsigned long (Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ printf ; ΡΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅).
ΠΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, — ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ . Π’ΠΈΠΏΡ unsigned long* ΠΈ unsigned long long* Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Ρ, ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
int main()
{
unsigned long* ulp = 0;
unsigned long long* ullp = 0;
ulp = ullp; // illegal
}
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅, ΠΊΠΎΠ³Π΄Π° Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ g++:
c.cpp: In function βint main()β:
c.cpp:5:11: error: cannot convert βlong long unsigned int*β to βlong unsigned int*β in assignment
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΡΠ»ΠΈΡΠΈΠ΅: ΡΡΠ°Π½Π΄Π°ΡΡ C++ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ» ΡΠΈΠΏΡ long long ΠΈ unsigned long long Π΄ΠΎ 2011 Π³ΠΎΠ΄Π°. C Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΈΡ
Π² ΡΡΠ°Π½Π΄Π°ΡΡ 1999 Π³ΠΎΠ΄Π°, ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ΅Π΄ΠΊΠΎΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² pre-C++2011 (ΠΈ pre-C99), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ
ΠΈΡ
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Keith Thompson Β Β
08 ΠΌΠ°ΡΡΠ° 2012 Π² 04:44
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Vijay Agrawal Β Β
08 ΠΌΠ°ΡΡΠ° 2012 Π² 04:49
0
Π‘ΡΠ°Π½Π΄Π°ΡΡ Π³Π»Π°ΡΠΈΡ , ΡΡΠΎ long long Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎ ΠΈ long, ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² unsigned , long ΠΈ int .
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
J.N. Β Β
08 ΠΌΠ°ΡΡΠ° 2012 Π² 04:44
- Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ unsigned int 2 ΡΠ°Π·Π° ΠΈ unsigned long 1 ΡΠ°Π· Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
64 bit?
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ *(unsigned*)d = *(unsigned*)s; d+=4; s+=4; *(unsigned*)d = *(unsigned*)s; d+=4; s+=4; ΠΈ *(unsigned long*)d = *(unsigned long*)s; d+=8; s+=8; Π½Π° 64-Π±ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ?
- unsigned long long to binary
Π― ΠΏΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΡΡ unsigned long long Π² c++, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ Π±ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠΎ ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ, Π½Π΅Π²Π΅ΡΠ΅Π½. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ unsigned long long Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅…
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
unsigned long long ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ uint64_t?
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΏΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ class my_template_class<uint64_t M>: public my_template_class_base<uint64_t> { …. } class…
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ unsigned long long
Π― ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π» Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ unsigned long long Π² C++ ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠΎΠ³Π΄Π° Ρ ΡΠΌΠ½ΠΎΠΆΠ°Ρ 5 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π½Π° 5 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π²ΠΎΡ ΡΠ°ΠΊ: unsigned long long test = 5000000*5000000;…
ΠΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏ unsigned long long?
Π― ΠΏΡΡΠ°ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏ unsigned long long int . ΠΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ error: integer constant is too large for long type . ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½ΠΈΠΆΠ΅ : unsigned long long temp =…
C++ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned int ΠΈ unsigned long int
Π― Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ C++ Π½Π° Windows Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Visual Studio, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Visual Studio 2015 Update 3. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ DSP, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ unsigned int / unsigned long ΡΠΈΠΏ…
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned long ΠΈ UINT64
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned long ΠΈ UINT64 ? Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅, Π½ΠΎ Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ UINT64 ΡΠ²Π»ΡΠ΅ΡΡΡ : typedef unsigned __int64 UINT64 (Ρ ΠΏΠΎΠΌΠΎΡΡΡ StdAfx.h)
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ unsigned int 2 ΡΠ°Π·Π° ΠΈ unsigned long 1 ΡΠ°Π· Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ 64 bit?
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ *(unsigned*)d = *(unsigned*)s; d+=4; s+=4; *(unsigned*)d = *(unsigned*)s; d+=4; s+=4; ΠΈ *(unsigned long*)d = *(unsigned long*)s; d+=8; s+=8; Π½Π° 64-Π±ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ?
unsigned long long to binary
Π― ΠΏΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΡΡ unsigned long long Π² c++, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ Π±ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠΎ ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ…
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· unsigned long long Π² unsigned int
Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Π» Π²ΠΎΠΊΡΡΠ³, ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π½ΠΎ Π½Π΅ ΡΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°. Π― Π²ΠΈΠ΄Π΅Π» ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ, Π³Π΄Π΅ ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ: ΠΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·Π»ΠΈΡΠ½Ρ Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² Π±Π΅Π· Π·Π½Π°ΠΊΠ°;…
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ long unsigned int ΠΈ unsigned long int
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±Π΅ΡΠ΅Ρ ΡΡΠΈ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ . long unsigned int a; unsigned long int a;
unsigned long long int output Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΈΡΠ΅Π», ΡΠ΅ΠΌ 111111111111111111 (19 ΡΠ°Π· ΠΏΠΎ 1). Ρ ΠΎΡΡ unsigned long long int Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΎ 18446744073709551615 (19 ΡΠΈΡΠ΅Π»), Π½ΠΎ 111111111111111111…
unsigned-long-long-int β Π ΡΡΡΠΊΠΈΠΉ β it-swarm.com.ru
unsigned-long-long-int β Π ΡΡΡΠΊΠΈΠΉ β it-swarm.com.ru
it-swarm.com.ru
Java ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ unsigned long long?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ long int Π² PHP
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°
ΠΠ°ΠΊ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ «unsigned long» Π² C?
ΠΠ»ΠΈΠ½Π½ΡΠΉ Π±Π΅Π· ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° Java
c ++ uint, unsigned int, int
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΏΡΠΎΡΠΈΠ² ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ
ΠΠΎΡΠ΅ΠΌΡ int, Π° Π½Π΅ unsigned int ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΎΠ² C ΠΈ C++ Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΎΠ²?
C ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π±ΠΈΡΡ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠΈΡΠ»Π΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°
C/C++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ int ΠΈΠ»ΠΈ unsigned int
ΠΊΠ°ΠΊΠΎΠΉ ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ unsigned int Π² C?
ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ «Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ»?
ΠΠΎΠ³Ρ Π»ΠΈ Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠ»Π³ΠΎ Π² INT?
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Rails?
ΠΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· int Π² Long Π² Java?
ΠΠ°ΠΊΠΎΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² ββPython?
ΠΠ°ΠΊΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΠΈ Π΄Π»ΠΈΠ½Π½ΡΠΌ
ΠΠΈΡΠ΅ΡΠ°Π» xyz ΡΠΈΠΏΠ° int Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π² C++
«OverflowError: Python int ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² C long» Π² Windows, Π½ΠΎ Π½Π΅ Π² Mac
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°
ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Python?
ΠΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ std :: vector: unsigned vs Π·Π½Π°ΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ
ΠΠΎΡΠ΅ΠΌΡ Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΡΠ΅?
ΠΠΎΡΠ΅ΠΌΡ Ρ C Π½Π΅Ρ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΡ ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠΎΠ²?
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ?
ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ?
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ long Π² python?
Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Π² Java
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΈ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² C ++
ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² C ++?
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Π·Π½Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π· Π·Π½Π°ΠΊΠ°?
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΡΡ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ° Π² Java?
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ — ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ°
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Β«intΒ» ΠΈ Β«uintΒ» / Β«longΒ» ΠΈ Β«ulongΒ»?
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ unsigned int ΠΈ sign int Π² C?
ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π±Π°ΠΉΡ Π² Java
ΠΠΎΡΠ΅ΠΌΡ SQL Server Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ°?
ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ°ΡΡΡ Π°Π΄ΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ% u ΠΈ% d Π² C?
Π ΡΠ΅ΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ zerofill Π² MySQL?
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ / Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΈ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ int
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ char * Π² unsigned char *
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ°?
ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ°ΠΊ 2-Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ·Π½Π°Π΅Ρ, ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅?
ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ Π² Π΄Π»ΠΈΠ½Π½ΡΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ°?
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ Π² Java
Π¦Π΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π΄Π»Ρ Π΄Π»ΠΈΠ½Ρ / ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°
ΠΠΎΡΠ΅ΠΌΡ size_t Π±Π΅Π· Π·Π½Π°ΠΊΠ°?
Β«strlen (s1) — strlen (s2)Β» Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ Π½ΡΠ»Ρ
ΠΠ΅Π²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° * Π² ΡΠΈΠΌΠ²ΠΎΠ» *
ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ size_t ΠΈΠ»ΠΈ ssize_t
ΠΠΎΠ³Π΄Π° uint8_t char Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»?
ΠΠ΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ C ++ (ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ + Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ)
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ size_t ΠΈ unsigned int?
ΠΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² Python
ΠΠΎΡΠ΅ΠΌΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² PostgreSQL?
VHDL ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² Java 8 ΠΈ Java 9?
ΠΠΎΡΠ΅ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ΅ΡΠ΅Π· printf?
ΠΠΎΠ³Π΄Π° Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «int» ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌΠΈ Π΄Π»Ρ Π·Π½Π°ΠΊΠ° ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°?
ΠΠΎΡΠ΅ΠΌΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ?
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ std :: vector ΠΊΠ°ΠΊ int?
ΠΠ΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π‘
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² C
C ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
Π Π‘ΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ «ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ int» Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ «unsigned int»?
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ std :: is_unsigned <bool> :: value?
ΠΠΎΡΠ΅ΠΌΡ (18446744073709551615 == -1) Π²Π΅ΡΠ½ΠΎ?
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΈ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌ
ΠΠΎΡΠ΅ΠΌΡ Kotlin Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π±Π΅Π· Π·Π½Π°ΠΊΠ°?
ΠΠΎΡΠ΅ΠΌΡ Π·Π½Π°ΠΊ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ?
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² C #
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° Java (Π΄Π»ΠΈΠ½Π½Π°Ρ)
WordPrap ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
Java: ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΠ°Π²Π΅Π½ Π»ΠΈ Π±ΠΈΡ 0 ΠΈΠ»ΠΈ 1 Π² Π΄Π»ΠΈΠ½Π½ΠΎΠΉ
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΌΠ°ΡΡΠΈΠ² string []? Π’Π°ΠΌ Π½Π΅Ρ. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ
Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎΠ»Π³ΠΎ Π² C / C ++
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π»ΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π» ΠΊ Java ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ?
ΠΠ°ΠΊ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ / ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ Π² String?
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π΄Π»ΠΈΠ½Π½ΡΠΉ
Java: ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ <= x <n
ΠΠΎΡΠ΅ΠΌΡ Π²Π°Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π»ΠΈΠ½Π½ΡΠΌ, Java?
ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Chrome ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠ°ΡΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ XMLHttpRequest
Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ² Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ
ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° UITableView
ΠΏΡΠΈΠ½ΡΡ ΠΈ Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ
ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ long Π² Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²
ΠΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠ΅Π½ΡΠΎΡΠ½ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ² Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ?
ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ Π»ΠΈ `long` ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 32 Π±ΠΈΡΠ°?
ΠΠ°ΠΊ ΠΌΠ½Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Long Π² byte [] ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² java
ΠΠΎΡΠΎΡΠΊΠΈΠΉ ΠΎΠΏΡΠΎΡ ΠΈ ΠΠ»ΠΈΠ½Π½ΡΠΉ ΠΎΠΏΡΠΎΡ Π΄Π»Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ?
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ NSString Π² Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅?
ΠΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Π² Π΄Π»ΠΈΠ½Π½ΡΠΉ Π² JavaScript?
UIButton Long Press Event
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ Π² Π΄Π»ΠΈΠ½Π½ΡΠ΅ Π² C #
ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Double Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅?
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π΄ΠΎΠ»Π³ΠΎ?
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠ²ΠΎΡΠ° Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ (8192) Π±ΡΠ»Π° ΠΏΡΠ΅Π²ΡΡΠ΅Π½Π° ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ XML
Content dated before 2011-04-08 (UTC) is licensed under CC BY-SA 2.5. Content dated from 2011-04-08 up to but not including 2018-05-02 (UTC) is licensed under CC BY-SA 3.0. Content dated on or after 2018-05-02 (UTC) is licensed under CC BY-SA 4.0. | Privacy
Unsigned int vs. size_t — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π― Π·Π°ΠΌΠ΅ΡΠ°Ρ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° C ΠΈ Π‘++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ size_t Π²ΠΌΠ΅ΡΡΠΎ int/unsigned int ΠΏΠΎΡΡΠΈ Π²Π΅Π·Π΄Π΅ — ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ C Π΄ΠΎ STL. ΠΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ.
ΠΠ’ΠΠΠ’Π«
ΠΡΠ²Π΅Ρ 1
Π’ΠΈΠΏ size_t — ΡΡΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π±Π΅Π· Π·Π½Π°ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° sizeof (ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° offsetof), ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² 8Gb).
Π’ΠΈΠΏ size_t ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ°Π²Π΅Π½ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ unsigned int, ΠΈ Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ C99, ΡΠ°Π·Π΄Π΅Π» 7.17, ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ pdf, ΠΈΠ»ΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ C11, ΡΠ°Π·Π΄Π΅Π» 7.19, ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ pdf-ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ²Π΅Ρ 2
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ C (ΡΠ°Π½Π½ΠΈΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ C, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΡΠ°ΠΉΠ°Π½ΠΎΠΌ ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½ΠΎΠΌ ΠΈ ΠΠ΅Π½Π½ΠΈΡΠΎΠΌ Π ΠΈΡΡΠΈ Π² «Π―Π·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C», Prentice-Hall, 1978) Π½Π΅ Π΄Π°Π» size_t. ΠΠΎΠΌΠΈΡΠ΅Ρ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ C ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» size_t Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΎ Π½Π° Embedded.com (Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ)
ΠΡΠ²Π΅Ρ 3
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, size_t Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ²Π°Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΈ ΠΎΠ½ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ typedef Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π±Π΅Π· Π·Π½Π°ΠΊΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ — Π½ΠΎ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ — ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
Π Π°Π·ΠΌΠ΅ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ size_t ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ size_t ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ Π±ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΠΈΡΡ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠΈΡΠ»Π΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ, ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² Π΄Π²Π° ΡΠ°Π·Π°.
ΠΡΠ°ΠΊ, Π²Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ unsigned int? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠΈΡΠ»Π°. Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π³Π΄Π΅ unsigned int ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 32 Π±ΠΈΡΠ°, Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ, ΡΡΠΎ 4294967295. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ IP16L32, ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 4294967295 Π±Π°ΠΉΡΠΎΠ².
ΠΡΠ°ΠΊ, Π²Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ unsigned long int? ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
. Π‘ΡΠ°Π½Π΄Π°ΡΡ C ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ long Π·Π°Π½ΠΈΠΌΠ°Π» Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 32 Π±ΠΈΡ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° IP16L32 ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡ 16-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
ΡΠ»ΠΎΠ². ΠΠΎΡΡΠΈ Π²ΡΠ΅ 32-Π±ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π½Π° ΡΡΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΡΡΠ΅Π±ΡΡΡ Π΄Π²ΡΡ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ 32-Π±ΠΈΡΠ½ΡΠΌΠΈ Π² Π΄Π²ΡΡ
16-Π±ΠΈΡΠ½ΡΡ
Π±Π»ΠΎΠΊΠ°Ρ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ 32-Π±ΠΈΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ΅Π±ΡΡΡΡΡ Π΄Π²Π΅ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ — ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 16-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ size_t ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠΎΠΉ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°ΡΡΠ΅, «Type size_t — ΡΡΠΎ typedef, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π±Π΅Π· Π·Π½Π°ΠΊΠ°, ΠΎΠ±ΡΡΠ½ΠΎ unsigned int ΠΈΠ»ΠΈ unsigned long, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ unsigned long long. ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° C ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ «.
ΠΡΠ²Π΅Ρ 4
Π’ΠΈΠΏ size_t — ΡΡΠΎ ΡΠΈΠΏ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ sizeof. ΠΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ°, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡΠΎ (ΠΎΠ±ΡΡΠ½ΠΎ) ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ptrdiff_t Π² ΡΠΎΠΌ, ΡΡΠΎ ptrdiff_t ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΠΊΠΈΠΌ, ΡΡΠΎ sizeof (ptrdiff_t) ΠΈ sizeof (size_t) ΡΠ°Π²Π½Ρ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° C Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ size_t, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
Π’ΠΈΠΏ int, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ (ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ) ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΎΡΡ-ΠΌΠ°ΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ sizeof (size_t) Π±ΡΠ΄Π΅Ρ 4 (Π±Π°ΠΉΡΡ), Π° sizeof (int) Π±ΡΠ΄Π΅Ρ 2 (Π±Π°ΠΉΡ). 16-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° Π±ΡΠ»Π° Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ 32-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ°, Ρ ΠΎΡΡ Π¦Π ΠΌΠΎΠ³ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅) ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎ 4 ΠΠ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΏ int ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Π±ΠΎΡΠΈΡΠ΅ΡΡ ΠΎΠ± ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅Π³ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠ°Π½Π΄Π°ΡΡ C Π·Π°Π΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΡ: sizeof (char) <= sizeof (short) <= sizeof (int) <= sizeof (long), Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΎ Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π² Java (ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎΡΡΡ Π±ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΈΠΏΠΎΠ² «char», «byte», «short», «int» ΠΈ «long» ).
ΠΡΠ²Π΅Ρ 5
Π’ΠΈΠΏ size_t Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Unsigned int Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² 64-Π±ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ int ΠΈ unsigned int ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ 32 Π±ΠΈΡ Π² ΡΠΈΡΠΈΠ½Ρ, Π½ΠΎ size_t Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΠ»Π° Π±ΠΎΠ»ΡΡΠ΅ 4G
ΠΡΠ²Π΅Ρ 6
ΠΡΠ° Π²ΡΠ΄Π΅ΡΠΆΠΊΠ° ΠΈΠ· ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ glibc 0,02 ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΌΡ:
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΈΠΏΠΎΠΌ size_t ΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ GCC Π΄ΠΎ Π²ΡΠΏΡΡΠΊΠ° 2.4. ANSI C ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ size_t Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ» Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ. ΠΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ GCC ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ size_t Π² stddef.h' to be whatever type the system's sys/types.h ‘ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΅Π³ΠΎ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Unix-ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ size_t Π² `sys/types.h ‘, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ size_t ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ, ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½.
ΠΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GNU C, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ, ΡΡΠΎ size_t Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ, Π²Π΅ΡΠ΅Π½. ΠΠ΅Π²Π΅ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ size_t ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ, ΡΡΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 2.4 GCC Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ size_t ΠΊΠ°ΠΊ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΈ fixincludes' script will massage the system's sys/types.h ‘, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡΡ ΡΡΠΎΠΌΡ.
Π’Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΡ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Ρ GCC Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π»Ρ size_t ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GNU C. `configure ‘Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ GCC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ size_t, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΡΠ²Π΅Ρ 7
ΠΡΠ»ΠΈ ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° 32 Π±ΠΈΡΠ°, size_t — ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ typedef Π΄Π»Ρ unsigned int. ΠΡΠ»ΠΈ ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° 64 Π±ΠΈΡ, size_t — ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ typedef Π΄Π»Ρ unsigned long long.
ΠΡΠ²Π΅Ρ 8
size_t — ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² 32 Π±ΠΈΡΠ°Ρ
ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ILP32 (ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ, Π΄Π»ΠΈΠ½Π½ΡΠΉ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ) size_t ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 32 Π±ΠΈΡΠ°.
ΠΈ Π² 64 Π±ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ LP64 (long, pointer) size_t ΠΈΠΌΠ΅Π΅Ρ 64 Π±ΠΈΡΠ° (ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ 32 Π±ΠΈΡΠ°).
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎ ΡΡΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ g++ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)
visual studio — ΡΠ°Π·Π½ΠΈΡΠ° Π² C ++ ΠΌΠ΅ΠΆΠ΄Ρ unsigned int ΠΈ unsigned long int
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ C ++ unsigned int Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ 0 Π΄ΠΎ 65535 . ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 16 Π±ΠΈΡΠ°ΠΌ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ) ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ unsigned int Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, unsigned long int Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 4294967295 .ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 32 Π±ΠΈΡΠ°ΠΌ. ΠΠΏΡΡΡ ΠΆΠ΅, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ unsigned int ΠΈ unsigned long int , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π° ΡΠ²Π»ΡΡΡΡΡ 32-Π±ΠΈΡΠ½ΡΠΌΠΈ. ΠΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ±Π° Π±ΡΠ»ΠΈ 64-Π±ΠΈΡΠ½ΡΠΌΠΈ. ΠΠ°ΠΊ Π²Ρ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Visual Studio 2015 ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ unsigned int ΠΈ unsigned long int ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ 0 Π΄ΠΎ 4294967295 .
ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΊΠ°ΠΊ g ++, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π»ΡΠΌ ΡΡΠ΄ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌ, Π²ΡΠ±ΠΎΡ ΡΠ°ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ±ΠΎΡΠΊΠ° g ++ Π΄Π»Ρ 32-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π΄Π»Ρ unsigned long , ΡΠ΅ΠΌ ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Π§ΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²Π°ΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠ»Ρ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΡ Π΄Π»ΠΈΠ½Π½ΡΡ 64 Π±ΠΈΡΠ°, Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΡΠΎΠ»ΠΊΠ° 4 294 967 295 ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ undefined ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅?
ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ
ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π΄Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².ΠΠ΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΠΏΡ Π² C ++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½), Π²ΡΡ
ΠΎΠ΄ΡΡΠ΅Π΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ 0 Π΄ΠΎ 4294967295 , Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π² ΡΡΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΌΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ 4294967296 [ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΡΡΠ°]). ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Β«ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡΒ».
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² Visual Studio, basicall unsigned == unsigned long.ΠΡΠ°Π²Π΄Π° ΠΈΠ»ΠΈ Π»ΠΎΠΆΡ?
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Visual Studio 2015 ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΡΡΠ»Π°Π΅ΡΠ΅ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ Π±ΡΡΡ ΠΏΡΠ°Π²Π΄ΠΎΠΉ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Microsoft — ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ GNU, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π² Linux / Windows, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ unsigned long == unsigned int ΠΈΠ»ΠΈ unsigned long == unsigned long long, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΅ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎ
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π»ΠΎΠΆΡ.
ΠΡΠΎ Π²Π΅ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Π»ΡΡ Π½Π° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠΈ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΠΈ, ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΏΠΎΠ².
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ Visual Studio / GNU / Clang / Intel, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .ΠΠ΅ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎ
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ.
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ C ++, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ (ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π²ΡΡΠ΅, Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ²).
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ C ++ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, API Windows, ΡΡΠ½ΠΊΡΠΈΠΈ posix, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²Ρ ΠΎΠ΄ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡ C ++), ΡΠΎ ΡΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ°ΠΆΠ΅ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ API Windows, Π² ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡ Π²Π΅ΡΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ posix. Π Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ (ΡΠ°ΠΉΠ» makefile ΠΈ Ρ. Π.) — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Π΄Π»Ρ Windows Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΈ Π½Π΅ ΡΠ²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ Π²Π΅ΡΡΠΈΠΈ unix.
Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΈ Π±ΠΈΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ KCfromNC
Π― ΠΈΡ ΡΠΈΡΠ°Π». Π― Ρ ΠΎΡΠ΅Π» ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²Π΅ΡΡ ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ — ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ. ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΎΡ Π»ΡΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², Π° Π½Π΅ ΠΎΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ Π·Π΄Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΠΌ.ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π», ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠ±ΠΎΡΠ½ΠΈΠΊ ΠΌΠ΅Π»ΠΎΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΏΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, ΡΠ΅ΠΌ ΠΊ ΡΠ΅ΠΌΡ-Π»ΠΈΠ±ΠΎ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²ΠΊΠΈ — ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ, — ΡΡΠΎ ΠΈΠ·ΡΡΠ½ΡΠΉ ΡΡΡΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΡΠ»ΡΡΠ°Π΅Π². ΠΡΡΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΡΠ΄Π΅ΠΉ Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, — ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΡΠ΄Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ±ΡΠΊΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π±ΡΡΡΡΠ΅Π΅ — i.Π΅. ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠΎ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ±ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΡΡΠΆΠΈΡ ΡΡΠΊΠ°Ρ Π³ΡΠΎΠ·ΠΈΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠΎΠ³Ρ Π²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π΄Ρ Π² Π²ΡΡΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ, Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΡΠ³ΡΠ°ΡΡ Π² ΡΡΠΎΠΌ Π°Π΄Π²ΠΎΠΊΠ°ΡΠ° Π΄ΡΡΠ²ΠΎΠ»Π° …
Π―ΡΠ½ΠΎ, ΡΡΠΎ Π²Ρ Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ. Π’Π°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΡΠ΅Π½ΠΈΠΌΡ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ ΠΠΠ£ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΡΠΌΠΈ Π² ΠΌΠ΅Π³Π°Π³Π΅ΡΡΠ°Ρ . ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎ ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ USB Π² RS232. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«ΡΠ»ΠΎΠ²ΠΎΠΊΒ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π΅ΡΡΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Bit Twiddling Hacks, Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ ΠΈ ΡΠ΅ΠΌ-ΡΠΎ, ΡΡΠΎ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ.
ΠΡΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ². Π’Π°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ ΡΠ°Ρ
ΠΌΠ°ΡΠ½ΡΠΉ ΠΠ, ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Β«Π½Π°Π²ΡΠΊΠΎΠ² ΠΠΒ». ΠΡΠ»ΠΈ Π±Ρ Π½Π΅ Π±ΠΈΡΠ±ΠΎΡΠ΄Ρ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Ρ Π½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Ρ
ΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΠ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΄ΠΎΠΊΡ — Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΈΠ³ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Β«Ρ
Π°ΠΊΠΈΒ» ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ bigint. ΠΡ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
Π±Π΅Π· ΡΠ°ΠΊΠΎΠΉ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ? Π£Π΄Π°ΡΠΈ Π²Π°ΠΌ Π² ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΡΡΠΎΠΉΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ.
ΠΡΠΈ — ΡΡΠΎ Π²Π΅ΡΠΈ ΡΠΈΠΏΠ° , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΏΠΎΡΠΈΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π»ΡΡΡΠΈΡ
ΠΈΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
Π²Π΅ΡΠ΅ΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ bigint).
ΠΠ°, Π΅ΡΡΡ ΠΈΠ΄ΠΈΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ²ΠΎΠΏ XOR, Π° ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΉ ΠΌΡΡΠΎΡ. ΠΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Β«ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉΒ» ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.ΠΠ°, ΡΡΠΎ Π½Π΅ Π²Π°ΡΠ° ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, Π½ΠΎ Π²Ρ Π±ΡΠ»ΠΈ Π±Ρ Π΄ΡΡΠ°ΠΊΠΎΠΌ, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΠ»ΠΈ ΠΈΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΡ , ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ΄Π΅Ρ.
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π³Π»Π°Π·Π°, ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌ, Π΅ΡΠ»ΠΈ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ. ΠΠ½ ΡΡΠΈΡ Π²Π°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΡ ΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ, ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°Ρ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠ΅ΠΌ-ΡΠΎ ΡΠ°Π½Π΅Π΅, Π±ΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ, ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ.Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· Π½ΠΈΡ — ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΌΠΈ (ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ 10), ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΌΠΈ (ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ 16), Π΄Π²ΠΎΠΈΡΠ½ΡΠΌΠΈ (ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ 2) ΠΈΠ»ΠΈ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΌΠΈ (ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ 8). Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΡ ΡΡΡΡΠΈΠΊΡΠΎΠ² ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ»ΠΈΠ½Π½ΡΠ΅ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΡΡΡΠΈΠΊΡΡ
Π‘ΡΡΡΠΈΠΊΡ L (ΠΈΠ»ΠΈ l ), ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΡΠΉ Π»ΡΠ±ΡΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ ΡΠΈΠ»Π°ΠΌ, ΡΡΠ° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ .Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΡΡΠΈΠΊΡ U (ΠΈΠ»ΠΈ u ) Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π±ΡΡΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ° .
Π‘ΡΡΡΠΈΠΊΡΡ L ΠΈ U ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: ul , Lu , UL ΠΈ Ρ. Π.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΡΡΠΈΠΊΡΡ ULL (ΠΈΠ»ΠΈ ull ) ΠΈ LL (ΠΈΠ»ΠΈ ll ), ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ unsigned long long ΠΈΠ»ΠΈ long long .
ΠΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΡΡΡΠΈΠΊΡΠ° ( U , u , L , l , LL , ll , ULL ΠΈΠ»ΠΈ ull ),
ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Β«Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉΒ» ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: short , unsigned short , int , unsigned int , long int , unsigned long int , long long ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ .
Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
- ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΡΠΈΠΊΡ
U, Π΅Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:unsigned short,unsigned int,unsigned long int. - ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΡΠΈΠΊΡ
L, Π΅Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:long int,unsigned long int. - ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΡΠΈΠΊΡΡ
LΠΈU(LUΠΈΠ»ΠΈUL), Π΅Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρunsigned long int. - ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠΌΠ΅Π΅Ρ
LL, Π΅Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρlong long. - ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠΌΠ΅Π΅Ρ
ULL, Π΅Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρunsigned long long.
Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ
ΠΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΡ -9223372036854775808 Π΄ΠΎ 18446744073709551615. ΠΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΠ΅ ΡΡΠΈ Π³ΡΠ°Π½ΠΈΡΡ, ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Β«ΠΠ½Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Β». ΠΠ΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΠ»Ρ. Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π½ΡΠ»Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ,
int i = 10; / * Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ 10 * / int i = 010; / * Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ 8 * / int Ρ = 0; / * Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ 0 = Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΉ 0 * /
Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΡ ΡΡΡΡΠΈΠΊΡΠΎΠ² ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
| ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ | ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ |
|---|---|
| <-9223372036854775808 | ΠΡΠΈΠ±ΠΊΠ°: Π²Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°! |
| -9223372036854775808-2147483649 | Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ |
| -2147483648 — -32769 | Π΄Π»ΠΈΠ½Π½ΡΠΉ |
| -32768 — -129 | Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ |
| -128-127 | ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ |
| 128β255 | Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ |
| 256-32767 | Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ |
| 32768-65535 | ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° |
| 65536-2147483647 | Π΄Π»ΠΈΠ½Π½ΡΠΉ |
| 2147483648-4294967295 | Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ |
| 4294967296-18446744073709551615 | Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ |
| > 18446744073709551615 | ΠΡΠΈΠ±ΠΊΠ°: Π²Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°! |
Π¨Π΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΉ
ΠΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ 0x (ΠΈΠ»ΠΈ 0X ), ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΌΠΈ.Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΡ
ΡΡΡΡΠΈΠΊΡΠΎΠ² ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 0xC367 Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ unsigned int .
Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ
ΠΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ 0b (ΠΈΠ»ΠΈ 0B ), ΡΡΠΈΡΠ°ΡΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌΠΈ. Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΡ
ΡΡΡΡΠΈΠΊΡΠΎΠ² ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 0b11101 Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ .
Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ΅
ΠΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π½ΡΠ»Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡΡΡ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠΈΡΡΡ 8 ΠΈΠ»ΠΈ 9, Π²ΡΠ΄Π°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΡ
ΡΡΡΡΠΈΠΊΡΠΎΠ² ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 0777 Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ int .
Copyright (c) 2002-2012 ΠΌΠΈΠΊΡΠΎΠΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ°.ΠΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π°ΡΠΈΡΠ΅Π½Ρ.
Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅? ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π½Π°ΠΌ ΠΎΡΠ·ΡΠ²!
Π₯ΠΎΡΠΈΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ?
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΡ
Π½Π°
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ unsigned long long int Π² C ++
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ unsigned long long int Π² C ++. ΠΡΠΎ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ (64-Π±ΠΈΡΠ½ΡΠΉ) ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π² C ++.
ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ unsigned long long long int:
- Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Ρ ΡΠ°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
- Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ 64 Π±ΠΈΡ.
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ Π² ΡΠΈΠΏΠ΅ Π΄Π°Π½Π½ΡΡ unsigned long long long int: 18, 446, 744, 073, 709, 551, 615, ΠΎΠΊΠΎΠ»ΠΎ 2 64 — 1 (Π½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°) .
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΎ Π² unsigned long long int, ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅
, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ULLONG_MAX . - ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ Π² unsigned long long int, ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ.
- Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠΈ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ ΠΏΠΎ ΠΊΡΡΠ³Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ 0 Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΈΠΏΠ΅ Π΄Π°Π½Π½ΡΡ unsigned long long long int ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ Π²ΡΡΠΈΡΠ°Π΅ΡΡΡ 1 , Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ 18, 446, 744, 073, 709, 551, 615. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΡΡΡ Π΄ΠΎ 0 .
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ Π² unsigned long long int Π² C ++:
C ++
|
ΠΡΡ ΠΎΠ΄:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠ»ΠΈΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ: 18446744073709551615 ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΠ°Π½ΠΈΡ: 18446744073709551615
Home / Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° 10.2 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² ARM C ΠΈ C ++ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ARM C ΠΈ C ++: Π Π°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ Π’Π°Π±Π»ΠΈΡΠ° 10-2 Π Π°Π·ΠΌΠ΅Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:
Π¦Π΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π¦Π΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎ Π΄Π²ΡΡ
. ΠΠΈΠ·ΠΊΠΈΠΉ ΠΠΎΠΏΠ»Π°Π²ΠΎΠΊΠΠ΅Π»ΠΈΡΠΈΠ½Ρ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ IEEE: ΠΠ»Ρ ΠΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ.
|
5.3. Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ Β«ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π°Β»
5.3.
Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Β«ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π°Β»
ΠΠΏΠ΅ΡΠ°Π½Π΄Ρ ΠΈ , Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ. Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° - Β«ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
to Β», Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.ΠΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ
ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
TΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π’Β», ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠ°ΠΊ
Β«Π’ *Β».
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ
ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
C ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
Π’ΠΈΠΏ Π’ | Π Π°Π·ΠΌΠ΅Ρ (Π±Π°ΠΉΡΡ) | Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° T | Π Π°Π·ΠΌΠ΅Ρ (Π±Π°ΠΉΡΡ) | ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ |
|---|---|---|---|---|
Π²Π½ΡΡΡ | 4 | Π²Π½ΡΡΡ * | 4 | Π²Π½ΡΡΡ * a, * b, * c; |
ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° | 4 | ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° * | 4 | ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· Π·Π½Π°ΠΊΠ° * d, * e, * f; |
ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ | 2 | ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ * | 4 | ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ * g, * h, * i; |
unsigned short int | 2 | unsigned short int * | 4 | unsigned short int * j, * k, * l; |
Π΄Π»ΠΈΠ½Π½ΡΠΉ int | 4 | Π΄Π»ΠΈΠ½Π½ΡΠΉ int * | 4 | Π΄Π»ΠΈΠ½Π½ΡΠΉ int * m, * n, * o; |
Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° | 4 | Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° * | 4 | Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° * p, * q, * r; |
char | 1 | char * | 4 | char * s, * t; |
ΡΠΈΠΌΠ²ΠΎΠ» Π±Π΅Π· Π·Π½Π°ΠΊΠ° | 1 | ΡΠΈΠΌΠ²ΠΎΠ» Π±Π΅Π· Π·Π½Π°ΠΊΠ° * | 4 | ΡΠΈΠΌΠ²ΠΎΠ» Π±Π΅Π· Π·Π½Π°ΠΊΠ° * u, * v; |
Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ | 4 | Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ * | 4 | Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ * w, * x; |
Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ | 8 | Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ * | 4 | Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ * y, * z; |
Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ | 8 | Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ * | 4 | Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ * a1, * a2; |
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ Π½Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, C
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° void * .ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Ρ
ΡΠ°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
Π Π°Π·ΠΌΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ
Π΄Π°Π½Π½ΡΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ Ρ
ΡΠ°Π½ΡΡ Π°Π΄ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ
ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π΅Π΅.
ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ββΡΡΡΡΠΊΡΡΡΠ°:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ contact1 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΈ
Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 44 Π±Π°ΠΉΡΠ° (20 + 20 + 4), Π° contactPointer ΠΈΠΌΠ΅Π΅Ρ
ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅Π³ΠΎ 4 Π±Π°ΠΉΡΠ°.
5.3.1.
ΠΠΎΠΏΡΠΎΡΡ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΎΡΠ΅Π½ΠΊΠΈ
| ΠΈΠΌΡ | Π²ΡΡΠ°ΠΆΠ°Π΅Ρ | Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ * | ||
|---|---|---|---|---|
| CHAR_BIT | Π§ΠΈΡΠ»ΠΎ Π±ΠΈΡΠΎΠ² Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ char ΠΈΠ»ΠΈ (Π±Π°ΠΉΡ) Π±ΠΎΠ»ΡΡΠ΅ * | |||
| SCHAR_MIN | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» | -127 (-2 7 +1 ) ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ * | ||
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° signed char | 127 ( 2 7 -1 ) ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ * | |||
| UCHAR_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° unsigned char | 255 ( 2 8 -1 ) ΠΈΠ»ΠΈ Π²ΡΡΠ΅ * | ||
| CHAR_MIN | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° char | Π»ΠΈΠ±ΠΎ SCHAR_MIN , Π»ΠΈΠ±ΠΎ 0 | ||
| CHAR_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° char | SCHAR_MAX 9123_MAX 9127MAX | 1 ΠΈΠ»ΠΈ Π²ΡΡΠ΅ * | |
| SHRT_MIN | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° short int | -32767-20004 ( | ||
| SHRT_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° short int | 32767 ( 2 15 -1 | ||
| USHRT_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° unsigned short int | 6553 5 ( 2 16 -1 ) ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ * | ||
| INT_MIN | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° int | -32767 (-2 15 ) ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ * | ||
| INT_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° int | 32767 ( 2 15 -1 ) ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ * | UINT ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° unsigned int | 65535 ( 2 16 -1 ) ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ * |
| LONG_MIN | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° 9025 long int | -2147483647 (-2 31 +1 ) ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ * | ||
| LONG_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° long int | 2147483647 ( 2 31 -1 ) ΠΈΠ»ΠΈ Π²ΡΡΠ΅ * | ||
| ULONG_MAX | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° unsigned long int | 42949367295 | ||
| LLONG_MIN | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° long long int | -9223372036854775807 (-2 63 * | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° long long int | 9223372036854775807 ( 2 63 -1 ) ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ * |
ULLON Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° 7 ULLO ΡΠΈΠΏ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ int | 18446744073709551615 ( 2 64 -1 ) ΠΈΠ»ΠΈ Π²ΡΡΠ΅ * |
.