Целочислените типове данни отразяват целите числа и могат да бъдат със знак (signed) или без знак (unsigned) в зависимост от желания диапазон от стойности. За да се определи подобен целочислен тип данни, е необходимо да се постави ключовата дума signed или unsigned пред самия тип данни. По подразбиране, ако това не е направено, то типа данни се приема за такъв със знак. Разликата е че signed могат да бъдат с положителни или отрицателни стойности, докато unsigned могат да бъдат само положителни стойности (и нула). Предимството на unsigned е, че може да съхраняват по-големи стойности, стига да е сигурно, че те винаги са положителни.

Видове целочислени типове данни Битове Име Диапазон Брой цифри Приложение C/C++ C# Pascal и Delphi Java SQL 4 nibble, semioctetSigned: от −8 до 7, от −(23) до 23 − 11 n/a n/a n/a n/aUnsigned: от 0 до 15, което е 24 − 12 8 byte, octetSigned: от −128 до 127, от −(27) до 27 − 1 3 int8_t, char sbyte Shortint byte tinyintUnsigned: от 0 до 255, което е 28 − 1 3 uint8_t, char byte Byte n/a unsigned tinyint 16 halfword, word, shortSigned: от −32 768 до 32 767, от −(215) до 215 − 1 5 int16_t, short, int short Smallint short smallintUnsigned: от 0 до 65 535, което е 216 − 1 5 uint16_t ushort Word char unsigned smallint 32 word, long, doubleword, longword, intSigned: от −2 147 483 648 до 2 147 483 647, от −(231) до 231 − 1 10 int32_t, int, long int LongInt; Integer int intUnsigned: от 0 до 4 294 967 295, което е 232 − 1 10 uint32_t uint LongWord; DWord; Cardinal n/a unsigned int 64 word, doubleword, longword, long long, quad, quadword, int64Signed: от −9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, от −(263) до 263 − 1 19 int64_t, long, long long long Int64 long bigintUnsigned: от 0 до 18 446 744 073 709 551 615, което е 264 − 120 uint64_t ulong UInt64; QWord n/a unsigned bigint 128 octaword, double quadwordSigned: от −170 141 183 460 469 231 731 687 303 715 884 105 728 до 170 141 183 460 469 231 731 687 303 715 884 105 727, от −(2127) до 2127 − 1 39 C: only available as non-standard compiler-specific extension n/a n/a n/aUnsigned: от 0 до 340 282 366 920 938 463 463 374 607 431 768 211 455, което е 2128 − 139 n n-bit integer (общ случай) Signed: (−(2n−1)) до (2n−1 − 1) ⌈(n − 1) log10 2⌉ Ada: range -2**(n-1)..2**(n-1)-1 Unsigned: 0 до (2n−1) ⌈n log10 2⌉ Ada: range 0..2**n-1, mod 2**n Не всички SQL диалекта имат беззнакови типове данни. Размерите на char, short, int, long and long long са зависими от изпълнението на езика. Размерите на Delphi's Integer and Cardinal не са гарантирани, различни от платформа на платформа; обикновено се определя като LongInt и LongWord съответно. Java не подпомага директно аритметиката на видовеte char. Резултатите трябва да бъдат преобразувани обратно до char от int.

Целочислени типове в Java Целочислените типове отразяват целите числа и биват – byte, short, int и long. Целочисленият тип byte. Той е 8-битов знаков тип, което означава, че броят на възможните стойности е 2 на степен 8, т.е. 256 възможни положителни и отрицателни стойности общо. Стойността по подразбиране е числото 0. Минималната стойност, която заема, е -128, а максималната +127.

Целочисленият тип short. Той е 16-битов знаков тип. В параграфа за типа byte по-горе изяснихме какво означава зна­ков тип и какво значение отдава броят на битовете. Стой­­­ността по подразбиране е числото 0. Минималната стойност, която заема, е числото -32768, а максималната – +32767.

Типът int. Той е 32-битов целочислен знаков тип. С нарастването на битовете нарастват и възможните стойности, които даден тип може да заема. Стой­ността по подразбиране е числото 0. Минималната стойност, която заема, е -2 147 483 648, а максималната +2 147 483 647.

Типът long. Той е 64-битово цяло число със знак със стойност по подразбиране 0L. Знакът L указва, че числото е от тип long (иначе се подразбира int). Минималната стойност, която типът long заема, е -9 223 372 036 854 775 808, а максималната +9 223 372 036 854 775 807. Когато можем да използваме типът byte вместо типа int или long, не се колебайте да използвате byte. Това ще спести от заеманата в компютъра памет.

Целочислени типове – пример Пример, в който декларираме няколко променливи от познатите ни целочислени типове, инициализираме ги и ги отпечатваме на конзолата. // Declare some variablesbyte centuries = 20;

short years = 2000;

int days = 730480;

long hours = 17531520;

// Print the result on the console

System.out.println(centuries + " centuries is " + years +

" years, or " + days + " days, or " + hours + " hours."); В разгледания по-горе пример демонстрираме използването на целочис­лените типове. За малки числа използваме типът byte, а за много големи – це­ло­численият тип long. Резултата от горния фрагмент: 20 centuries is 2000 years, or 730480 days, or 17531520 hours.

Целочислени типове в C# Целочислените типове отразяват целите числа и биват sbyte, byte, short, ushort, int, uint, long и ulong. Типът sbyte е 8-битов целочислен тип със знак (signed integer). Това означава, че броят на възможните му стойности е 28, т.е. 256 възможни стойности общо, като те могат да бъдат както положителни, така и отрицателни. Минимал­ната стойност, която може да се съхранява в sbyte, е SByte.MinValue = -128 (-27), а максимал­ната е SByte.MaxValue = 127 (27-1). Стойността по подразбиране е числото 0.

Типът byte е 8-битов беззнаков (unsigned) целочислен тип. Той също има 256 различни целочислени стойности (28), но те могат да бъдат само неотрица­телни. Стойността по подразбиране на типа byte е числото 0. Минимал­ната му стойност е Byte.MinValue = 0, а максималната е Byte.MaxValue = 255 (28-1).

Целочисленият тип short е 16-битов тип със знак. Минималната стойност, която може да заема, е Int16.MinValue = -32768 (-215), а максималната – Int16.MaxValue = 32767 (215-1). Стойността по подразбиране е числото 0.

Типът ushort е 16-битов беззнаков тип. Минималната стойност, която може да заема, е UInt16.MinValue = 0, а максималната – UInt16. MaxValue = 65535 (216-1). Стой­ността по подраз­биране е числото 0.

Tипът int. Той е 32-битов знаков тип. С нарастването на битовете нарастват и възможните стойности, които даден тип може да заема. Стой­ността по подразбиране е числото 0. Минималната стойност, която може да заема, е Int32.MinValue = -2 147 483 648 (-231), а максималната e Int32.MaxValue = 2 147 483 647 (231-1). Типът int е най-често използваният тип в програмирането. Обикновено програмистите използват int, когато работят с цели числа, защото този тип е естествен за 32-битовите микропроцесори и е достатъчно „голям“ за повечето изчис­ления, които се извършват в ежедневието.

Типът uint е 32-битов беззнаков тип. Стойността по подразбиране е числото 0u или 0U (двата записа са еквивалентни). Символът 'u' указва, че числото е от тип uint (иначе се подразбира int). Минималната стойност, която може да заема, е UInt32.MinValue = 0, а максималната му стойност е UInt32.MaxValue = 4 294 967 295 (232-1).

Типът long е 64-битов знаков тип със стойност по подразбиране 0l или 0L (двете са еквивалентни, но за предпочитане е да използвате L, тъй като l лесно се бърка с цифрата едно 1). Символът 'L указва, че числото е от тип long (иначе се подразбира int). Минималната стойност, която може да заема типът long, е Int64.MinValue = -9 223 372 036 854 775 808 (-263), а максималната му стойност е Int64.MaxValue = 9 223 372 036 854 775 807 (263-1).

Най-големият целочислен тип е типът ulong. Той е 64-битов беззнаков тип със стойност по подразбиране числото 0u или 0U (двата записа са екви­валентни). Символът 'u указва, че числото е от тип ulong (иначе се подразбира long). Минималната стойност, която може да бъде записана в типа ulong е UInt64.MinValue = 0, а макси­малната – UInt64.MaxValue = 18 446 744 073 709 551 615 (264-1).

Целочислени типове – пример Пример, в който декларираме няколко променливи от познатите ни целочислени типове, инициализираме ги и отпечатваме стойностите им на конзолата: // Declare some variablesbyte centuries = 20;

short years = 2000;

int days = 730480;

long hours = 17531520;

// Print the result on the console

System.out.println(centuries + " centuries is " + years +

" years, or " + days + " days, or " + hours + " hours."); В разгледания по-горе пример демонстрираме използването на целочис­лените типове. За малки числа използваме типа byte, а за много големи – ulong. Използваме беззнакови типове, тъй като всички използвани стой­ности са положителни числа.

Вижте също Типове данни

Източници

Наков, С., и колектив. Въведение в програмирането с Java. В. Търново, Фабер, 2009. ISBN 978-954-400-055-4. с. 87 dev.mysql.com

infocenter.sybase.com

Категория:Програмиране Категория:Примитивни типове данни