Numerické datové typy (Visual Basic)
Visual Basic poskytuje několik číselných datových typů pro zpracování čísel v různých reprezentacích. Celočíselné typy představují pouze celá čísla (kladná, záporná a nula) a neintegrační typy představují čísla s celočíselnými i desetinnými částmi.
Tabulka zobrazující porovnání datových typů jazyka Visual Basic vedle sebe naleznete v tématu Datové typy.
Integrální číselné typy
Integrální datové typy jsou ty, které představují pouze čísla bez zlomkových částí.
Celočíselné datové typy jsou datový typ SByte (8bitový), krátký datový typ (16bitový), celočíselný datový typ (32bitový) a dlouhý datový typ (64bitová verze). Pokud proměnná vždy ukládá celá čísla místo desetinných čísel, deklarujte ji jako jeden z těchto typů.
Celočíselné typy bez znaménka jsou bajtový datový typ (8bitový), datový typ UShort (16bitový), datový typ UInteger (32bitová) a ULong (64bitová verze). Pokud proměnná obsahuje binární data nebo data neznámé povahy, deklarujte je jako jeden z těchto typů.
Výkon
Aritmetické operace jsou rychlejší s integrálními typy než u jiných datových typů. Jedná se o nejrychlejší Integer
typy a UInteger
typy v jazyce Visual Basic.
Velká celá čísla
Pokud potřebujete obsahovat celé číslo větší než Integer
datový typ, můžete místo toho použít Long
datový typ. Long
proměnné můžou obsahovat čísla od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Operace s Long
jsou mírně pomalejší než s Integer
.
Pokud potřebujete ještě větší hodnoty, můžete použít datový typ Decimal. Čísla od -79 228 162 514 264 337 593 593 950 335 až 79 228 162 514 264 337 593 543 950 335 v Decimal
proměnné, pokud nepoužíváte žádná desetinná místa. Operace s Decimal
čísly jsou ale výrazně pomalejší než u jakéhokoli jiného číselného datového typu.
Malá celá čísla
Pokud nepotřebujete úplný rozsah datového Integer
typu, můžete použít Short
datový typ, který může obsahovat celá čísla od -32 768 do 32 767. Pro nejmenší celočíselnou oblast SByte
obsahuje datový typ celá čísla od -128 do 127. Pokud máte velmi velký počet proměnných, které obsahují malá celá čísla, může modul CLR někdy ukládat vaše Short
proměnné a SByte
proměnné efektivněji a ušetřit spotřebu paměti. Nicméně operace s Short
a SByte
jsou poněkud pomalejší než s Integer
.
Celá čísla bez znaménka
Pokud víte, že proměnná nikdy nepotřebuje obsahovat záporné číslo, můžete použít nepodepsané typyByte
, UShort
a UInteger
ULong
. Každý z těchto datových typů může obsahovat kladné celé číslo dvakrát tak velké jako odpovídající typ signed (SByte
, Short
, Integer
a Long
). Z hlediska výkonu je každý nepodepsaný typ přesně tak efektivní jako odpovídající podepsaný typ. Konkrétně UInteger
sdílí s rozdílem Integer
, že je nejúčinnější ze všech základních číselných datových typů.
Neintegrované číselné typy
Neintegrační datové typy představují čísla s celočíselnou i desetinnou částí.
Neintegrované číselné datové typy jsou Decimal
(128bitový pevný bod), jeden datový typ (32bitová plovoucí desetiná čárka) a datový typ Double (64bitová plovoucí čárka). Všechny typy jsou podepsané. Pokud proměnná může obsahovat zlomek, deklarujte ji jako jeden z těchto typů.
Decimal
není datový typ s plovoucí desetinou čárkou. Decimal
Čísla mají binární celočíselnou hodnotu a celočíselné měřítko, které určuje, jaká část hodnoty je desetinná desetinná čárka.
Proměnné můžete použít Decimal
pro hodnoty peněz. Výhodou je přesnost hodnot. Datový Double
typ je rychlejší a vyžaduje méně paměti, ale podléhá chybám zaokrouhlení. Datový Decimal
typ zachovává úplnou přesnost na 28 desetinných míst.
Čísla s plovoucí desetinou čárkou (Single
a Double
) mají větší rozsahy než Decimal
čísla, ale můžou podléhat chybám zaokrouhlení. Typy s plovoucí desetinou čárkou podporují méně významných číslic, než Decimal
ale mohou představovat hodnoty větší velikosti.
Neintegraální číselné hodnoty lze vyjádřit jako mmmEeee, ve kterém je mmm mantisa (významné číslice) a eee je exponent (mocnina 10). Nejvyšší kladné hodnoty neintegrovaných typů jsou 7,9228162514264337593543950335E+28 pro Decimal
, 3,4028235E+38 pro Single
a 1,79769313486231570E+308 pro Double
.
Výkon
Double
je nejúčinnější z desetinných datových typů, protože procesory na aktuálních platformách provádějí operace s plovoucí desetinnou čárkou s dvojitou přesností. Operace s Double
však nejsou tak rychlé jako u integrálních typů, jako Integer
je .
Malé velikosti
U čísel s nejmenší možnou velikostí (nejblíže 0) Double
mohou proměnné obsahovat čísla tak malá jako -4,94065645841246544E-324 pro záporné hodnoty a 4,94065645841246544E-324 pro kladné hodnoty.
Malá desetinná čísla
Pokud nepotřebujete úplný rozsah datového Double
typu, můžete použít Single
datový typ, který může obsahovat čísla s plovoucí desetinou čárkou od -3,4028235E+38 do 3,4028235E+38. Nejmenší velikost Single
proměnných je -1,401298E-45 pro záporné hodnoty a 1,401298E-45 pro kladné hodnoty. Pokud máte velmi velký počet proměnných, které obsahují malá čísla s plovoucí desetinou čárkou, může modul CLR někdy ukládat proměnné Single
efektivněji a ušetřit spotřebu paměti.