Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Program Visual Basic udostępnia kilka typów danych liczbowych do obsługi liczb w różnych reprezentacjach. Typy całkowite reprezentują tylko liczby całkowite (dodatnie, ujemne i zero), a typy nieintegralne reprezentują liczby zarówno z częściami całkowitymi, jak i ułamkowych.
Aby zapoznać się z tabelą przedstawiającą porównanie równoległe typów danych języka Visual Basic, zobacz Typy danych.
Typy liczb całkowitych
Typy danych całkowitych to te, które reprezentują tylko liczby bez części ułamkowych.
Podpisane typy danych całkowitych to typ danych SByte (8-bitowy), krótki typ danych (16-bitowy), typ danych całkowitych (32-bitowy) i długi typ danych (64-bitowy). Jeśli zmienna zawsze przechowuje liczby całkowite, a nie liczby ułamkowe, zadeklaruj ją jako jeden z tych typów.
Niepodpisane typy całkowite to typ danych bajtów (8-bitowy), typ danych UShort (16-bitowy), typ danych UInteger (32-bitowy) i typ danych ULong (64-bitowy). Jeśli zmienna zawiera dane binarne lub dane nieznanego charakteru, zadeklaruj ją jako jeden z tych typów.
Wydajność
Operacje arytmetyczne są szybsze w przypadku typów całkowitych niż w przypadku innych typów danych. Są najszybsze w przypadku typów Integer
i UInteger
w Visual Basic.
Duże liczby całkowite
Jeśli musisz przechowywać liczbę całkowitą większą niż typ danych Integer
, zamiast tego możesz użyć typu danych Long
.
Long
zmienne mogą zawierać liczby od -9 223 372 036 854 775 808 do 923 372 036 854 775 807. Operacje z programem Long
są nieco wolniejsze niż w przypadku programu Integer
.
Jeśli potrzebujesz jeszcze większych wartości, możesz użyć typu danych dziesiętnych. Można przechowywać liczby z -79,228,162,514,264,337,593,543,950,335 do 79,228,162,514,264,337,593,543,950,335 w zmiennej Decimal
, jeśli nie używasz żadnych miejsc dziesiętnych. Jednak operacje z liczbami Decimal
są znacznie wolniejsze niż w przypadku dowolnego innego typu danych liczbowych.
Małe liczby całkowite
Jeśli nie potrzebujesz pełnego zakresu Integer
danych, możesz użyć Short
typu danych, który może zawierać liczby całkowite z zakresu od -32 768 do 32 767. W przypadku najmniejszego zakresu SByte
całkowitego typ danych zawiera liczby całkowite z zakresu -128 do 127. Jeśli masz bardzo dużą liczbę zmiennych, które zawierają małe liczby całkowite, wspólne środowisko uruchomieniowe może czasami przechowywać zmienne Short
i SByte
bardziej wydajnie, redukując zużycie pamięci. Jednak operacje z Short
i SByte
są nieco wolniejsze niż z Integer
.
Niepodpisane liczby całkowite
Jeśli wiesz, że zmienna nigdy nie musi przechowywać liczby ujemnej, możesz użyć niepodpisanych typówByte
, UShort
, UInteger
i ULong
. Każdy z tych typów danych może przechowywać dodatnią liczbę całkowitą dwa razy większą niż odpowiadający mu typ ze znakiem (SByte
, Short
, Integer
i Long
). Pod względem wydajności każdy niepodpisany typ jest dokładnie tak wydajny, jak odpowiadający mu typ podpisu. W szczególności UInteger
wraz z Integer
dzielą się wyróżnieniem bycia najbardziej wydajnymi spośród wszystkich podstawowych typów danych liczbowych.
Typy liczbowe niecałkowite
Typy danych nieintegralnych to te, które reprezentują liczby zarówno z częściami całkowitymi, jak i ułamkowych.
Typy danych liczbowych niecałkowitych to Decimal
(128-bitowy stałopunktowy), typ danych Single (32-bitowy zmiennoprzecinkowy) i typ danych Double (64-bitowy zmiennoprzecinkowy). Są to wszystkie podpisane typy. Jeśli zmienna może zawierać ułamek, zadeklaruj ją jako jeden z tych typów.
Decimal
nie jest typem danych zmiennoprzecinkowych.
Decimal
liczby mają wartość binarną całkowitą i współczynnik skalowania liczb całkowitych określający, która część wartości jest ułamkiem dziesiętnym.
Można używać zmiennych Decimal
dla wartości pieniężnych. Zaletą jest precyzja wartości.
Double
Typ danych jest szybszy i wymaga mniejszej ilości pamięci, ale podlega błędom zaokrąglania. Typ Decimal
danych zachowuje pełną dokładność do 28 miejsc dziesiętnych.
Liczby zmiennoprzecinkowe (Single
i Double
) mają szerszy zakres niż liczby Decimal
, ale mogą być narażone na błędy zaokrąglenia. Typy zmiennoprzecinkowe obsługują mniej znaczących cyfr niż Decimal
ale mogą reprezentować wartości o większej wielkości.
Nieintegralne wartości liczbowe mogą być wyrażone jako mmmEeee, w którym mmm jest mantissa (cyfry znaczące), a eee jest wykładnikiem (moc 10). Najwyższe wartości dodatnie typów nieintegracyjnych to 7,9228162514264375935543950335E+28 dla Decimal
, 3,4028235E+38 dla Single
, i 1,79769313486231570E+308 dla Double
.
Wydajność
Double
jest najbardziej wydajnym typem danych ułamkowych, ponieważ procesory na bieżących platformach wykonują operacje zmiennoprzecinkowe w podwójnej precyzji. Jednak operacje z Double
nie są tak szybkie, jak w przypadku typów całkowitych, takich jak Integer
.
Małe wartości
W przypadku liczb o najmniejszej możliwej wielkości (najbliższej 0) Double
zmienne mogą zawierać liczby tak małe, jak -4,94065645841246544E-324 dla wartości ujemnych i 4,9406564584124654E-324 dla wartości dodatnich.
Małe liczby ułamkowe
Jeśli nie potrzebujesz pełnego zakresu Double
danych, możesz użyć Single
typu danych, który może zawierać liczby zmiennoprzecinkowe z zakresu od -3,4028235E+38 do 3,4028235E+38. Najmniejsze wielkości zmiennych Single
to -1,401298E-45 dla wartości ujemnych i 1,401298E-45 dla wartości dodatnich. Jeśli masz bardzo dużą liczbę zmiennych, które przechowują małe liczby zmiennoprzecinkowe, środowisko uruchomieniowe języka wspólnego może czasami bardziej efektywnie przechowywać Single
zmienne i oszczędzać zasoby pamięci.