Udostępnij za pośrednictwem


Numeric — Typ danych (Visual Basic)

Visual Basicdostarcza kilka dla typów numerycznych do obsługi numerów w różnych reprezentacji.Integralną typów reprezentują tylko liczby całkowite (dodatnie, ujemne i zero), i nonintegral typy reprezentujące liczby z całkowitą i części ułamkowej.

Dla porównania side-by-side obrazujące Visual Basic typów danych, zobacz Typ danych — Podsumowanie (Visual Basic).

Typy liczbowe

Typy danych integralną to te, które reprezentują tylko liczby bez części ułamkowej.

Podpisane są typy danych integralną SByte — Typ danych (Visual Basic) (8-bitowym), Short — Typ danych (Visual Basic) (16-bitowy), Integer — Typ danych (Visual Basic) (32-bitowa) i Long — Typ danych (Visual Basic) (wersja 64-bitowa).Jeśli zmienna jest zawsze przechowuje liczby całkowite, zamiast liczby ułamkowe, zadeklarować go jako jednego z tych typów.

Niepodpisane są typy zintegrowane Byte — Typ danych (Visual Basic) (8-bitowym), UShort — Typ danych (Visual Basic) (16-bitowy), UInteger — Typ danych (32-bitowa) i ULong — Typ danych (Visual Basic) (wersja 64-bitowa).Jeżeli zmienna zawiera dane binarne lub dane charakter nieznana, należy zadeklarować go jako jednego z tych typów.

Wydajność

Operacje arytmetyczne są szybsze dzięki integralną typów niż w przypadku innych typów danych.Są one najszybsze z Integer i UInteger typów w Visual Basic.

Duże liczby całkowite

Jeśli trzeba przytrzymać większy niż integer Integer typ danych może pomieścić, można użyć Long zamiast tego typu danych.Longzmienne mogą przyjmować liczb z zakresu od-9,223,372,036,854,775,808 do 9,223,372,036,854,775,807.Operacje z Long nieco wolniej niż z Integer.

Jeśli konieczne jest jeszcze większe wartości, można użyć Decimal — Typ danych (Visual Basic).Może pomieścić liczb z zakresu od-79,228,162,514,264,337,593,543,950,335 do 79,228,162,514,264,337,593,543,950,335 w Decimal zmienna, jeśli nie używasz żadnych miejsc po przecinku.Jednak operacje z Decimal numery są znacznie wolniej niż inne typ danych numerycznych.

Małych liczb całkowitych

Jeśli nie potrzebujesz pełnego zakresu Integer typu danych, można użyć Short typ danych, który może pomieścić liczb całkowitych od-32 768 do 32 767.Dla najmniejszej zakresu integer SByte typ danych przechowuje liczby całkowite z-128 do 127.Jeśli masz bardzo dużej liczby zmiennych, które przechowywania małych liczb całkowitych, aparatu plików wykonywalnych języka wspólnego, czasami może przechowywać swoje Short i SByte zmiennych wydajniej i Zapisz zużycie pamięci.Jednak operacje z Short i SByte nieco wolniej niż z Integer.

Liczby całkowite bez znaku

Jeśli wiadomo, że zmienna nigdy nie musi posiadać liczbę ujemną, można użyć typów niepodpisanegoByte, UShort, UInteger, i ULong.Każdy z tych typów danych może pomieścić dodatnią liczbą całkowitą dwukrotnie tak duży, jak odpowiadające jej podpisany typu (SByte, Short, Integer, i Long).Z punktu widzenia wydajności każdy typ bez znaku jest dokładnie tak efektywny, jak jego odpowiedniego typu podpisane.W szczególności UInteger współużytkuje z Integer rozróżnienie, które są najbardziej efektywne wszystkie typy podstawowe dane liczbowe.

Nonintegral typy liczbowe

Typy danych nonintegral to te, które reprezentują numery z całkowitą i części ułamkowej.

Typy danych liczbowych nonintegral Decimal (128-bitowego stałego punktu), Single — Typ danych (Visual Basic) (32-bitowych zmiennoprzecinkowych), i Double — Typ danych (Visual Basic) (64-bitowe ruchomy punkt).Są one podpisane wszystkich typów.Jeśli zmienna może zawierać ułamek, zadeklarować ją jako jednego z tych typów.

Decimalnie jest typem danych zmiennoprzecinkowych.Decimalnumery mają wartość całkowitą binarne i współczynnik skalowania całkowitą Określa, jaka część wartości ułamek dziesiętny.

Można użyć Decimal zmienne dla wartości pieniądza.Zaletą jest dokładność wartości.Double Typ danych jest szybsza i wymaga mniej pamięci, ale podlega ona błędów zaokrągleń.Decimal Typ danych zachowuje pełną dokładności z 28 miejscami po przecinku.

Zmiennoprzecinkowe (Single i Double) liczby mają zakresy większych niż Decimal numery, ale mogą być przedmiotem błędów zaokrągleń.Typy zmiennoprzecinkowych obsługują mniejszą liczbę cyfr znaczących niż Decimal , ale może reprezentować wartości większych strat.

Nonintegral wartości liczbowe mogą być wyrażone jako mmmEeee, w którym mmm jest mantysy (cyfry znaczące) i eee jest wykładnik (moc 10).Najwyższe wartości dodatnie typów nonintegral są 7.9228162514264337593543950335E + 28 dla Decimal, 3.4028235E + 38 dla Singlei 1.79769313486231570E + 308 dla Double.

Wydajność

Doubleponieważ procesorów na platformach bieżącej operacji zmiennoprzecinkowych w podwójnej precyzji jest najbardziej efektywne typów danych ułamkową.Jednak operacje z Double nie jest tak szybka jak w przypadku integralną typów, takich jak Integer.

Małe wielkości

W przypadku liczb z najmniejszą wielkość możliwe (najbliżej 0) Double zmiennych mogą zawierać numery tak mały, jak - 4.94065645841246544E-324 dla wartości ujemnych i 4.94065645841246544E-324 dla wartości dodatnich.

Małej liczby ułamkowe

Jeśli nie potrzebujesz pełnego zakresu Double typu danych, można użyć Single typ danych, który może pomieścić liczb zmiennoprzecinkowych od - 3.4028235E + 38, poprzez 3.4028235E + 38.Najmniejsza wielkości dla Single są zmienne - 1, 401298E-45 dla wartości ujemnych i 1, 401298E-45 dla wartości dodatnich.Jeśli masz bardzo dużej liczby zmiennych, które przechowywania małych liczb zmiennoprzecinkowych, aparatu plików wykonywalnych języka wspólnego, czasami może przechowywać swoje Single zmiennych wydajniej i Zapisz zużycie pamięci.

Zobacz też

Zadania

Rozwiązywanie problemów związanych z typami danych (Visual Basic)

Porady: wywoływanie funkcji Windows wykorzystującej typy bez znaku (Visual Basic)

Koncepcje

Znaki — Typy danych (Visual Basic)

Różne typy danych (Visual Basic)

Inne zasoby

Podstawowe typy danych (Visual Basic)