İşleç Sonuçlarının Veri Türleri (Visual Basic)

Visual Basic, işlenenlerin veri türlerine göre bir işlemin sonuç veri türünü belirler. Bazı durumlarda bu, her iki işlenenden daha büyük bir aralığı olan bir veri türü olabilir.

Veri Türü Aralıkları

İlgili veri türlerinin en küçükten en büyüğe doğru aralıkları aşağıdaki gibidir:

  • Boole — iki olası değer

  • SByte, Byte — 256 olası tam sayı değeri

  • Kısa, UShort — 65.536 (6.5...E+4) olası integral değerleri

  • Integer, UInteger — 4.294.967.296 (4.2...E+9) olası integral değerleri

  • Long, ULong — 18.446.744.073.709.551.615 (1.8...E+19) olası integral değerleri

  • Ondalık — 1.5...E+29 olası tam sayı değerleri, maksimum aralık 7.9...E+28 (mutlak değer)

  • Tek — maksimum aralık 3.4...E+38 (mutlak değer)

  • Double — maksimum aralık 1.7...E+308 (mutlak değer)

Visual Basic veri türleri hakkında daha fazla bilgi için bkz . Veri Türleri.

bir işlenen Nothing olarak değerlendirilirse, Visual Basic aritmetik işleçleri bunu sıfır olarak değerlendirir.

Ondalık Aritmetik

Ondalık veri türünün kayan nokta veya tamsayı olmadığını unutmayın.

Bir , , , *veya işleminin Decimal işlenenlerinden +biri veya değilse SingleDouble, Visual Basic diğer işleneni olarak Decimalgenişleter.Mod/ içinde işlemi Decimalgerçekleştirir ve sonuç veri türü olur Decimal.

Kayan Nokta Aritmetiği

Visual Basic, bu tür işlemler için en verimli veri türü olan Double'da en çok kayan nokta aritmetiği gerçekleştirir. Ancak, bir işlenen Tek ise ve diğeri değilse Double, Visual Basic işlemi içinde Singlegerçekleştirir. İşlemden önce her işleneni uygun veri türüne kadar genişleter ve sonuç bu veri türüne sahiptir.

/ ve ^ İşleçleri

işleci / yalnızca Ondalık, Tek ve Çift veri türleri için tanımlanır. Visual Basic, her işleneni işlemden önce uygun veri türüne kadar genişleter ve sonuç bu veri türüne sahiptir.

Aşağıdaki tabloda işlecin sonuç veri türleri gösterilmektedir / . Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin belirli bir bileşimi için, işlenenlerin sırası ne olursa olsun sonuç veri türü aynıdır.

Decimal Single Double Herhangi bir tamsayı türü
Decimal Ondalık Tekli Çift Ondalık
Single Tekli Tekli Çift Tekli
Double Çift Çift Çift Çift
Herhangi bir tamsayı türü Ondalık Tekli Çift Çift

işleci ^ yalnızca veri türü için Double tanımlanır. Visual Basic, her işleneni işlemden önce gerektiği Double gibi genişleter ve sonuç veri türü her zaman Doubleolur.

Tamsayı Aritmetik

Bir tamsayı işleminin sonuç veri türü, işlenenlerin veri türlerine bağlıdır. Genel olarak, Visual Basic sonuç veri türünü belirlemek için aşağıdaki ilkeleri kullanır:

  • İkili işlecin her iki işleneni de aynı veri türüne sahipse, sonuç bu veri türüne sahiptir. Bir özel durum, Booleanzorlamalı Shortolan şeklindedir.

  • İmzasız bir işlenen imzalı bir işlenenle katılırsa, sonuç en az işlenen kadar büyük bir aralık içeren imzalı bir türe sahiptir.

  • Aksi takdirde, sonuç genellikle iki işlenen veri türünden daha büyüktür.

Sonuç veri türünün işlenen veri türüyle aynı olmayabileceğini unutmayın.

Not

Sonuç veri türü her zaman işlemden kaynaklanan tüm olası değerleri barındıracak kadar büyük değildir. OverflowException Değer sonuç veri türü için çok büyükse bir özel durum oluşabilir.

Birli + ve – İşleçler

Aşağıdaki tabloda, ve iki birli işleç için sonuç veri türleri gösterilmektedir +.

Boolean SByte Byte Short UShort Integer UInteger Long ULong
Tekli + Kısa SByte Bayt Kısa Ushort Tamsayı Uınteger Uzun Ulong
Tekli Kısa SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Ondalık

<< ve >> İşleçleri

Aşağıdaki tabloda, ve iki bit kaydırma işleci için sonuç veri türleri gösterilmektedir <<>>. Visual Basic, her bit kaydırma işlecini sol işleneninde birli işleç (kaydırılacak bit deseni) olarak kabul eder.

Boolean SByte Byte Short UShort Integer UInteger Long ULong
<<, >> Kısa SByte Bayt Kısa Ushort Tamsayı Uınteger Uzun Ulong

Sol işlenen Decimal, , DoubleSingleveya Stringise Visual Basic işlemden önce bunu öğesine Long dönüştürmeyi dener ve sonuç veri türü olurLong. Sağ işlenen (kaydırılacak bit konumlarının sayısı) veya olarak genişleten Integerbir tür olmalıdırInteger.

İkili +, –, *ve Mod İşleçleri

Aşağıdaki tabloda ikili + ve işleçler ile ve Mod işleçleri * için sonuç veri türleri gösterilmektedir. Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin belirli bir bileşimi için, işlenenlerin sırası ne olursa olsun sonuç veri türü aynıdır.

Boolean SByte Byte Short UShort Integer UInteger Long ULong
Boolean Kısa SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Ondalık
SByte SByte SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Ondalık
Byte Kısa Kısa Bayt Kısa Ushort Tamsayı Uınteger Uzun Ulong
Short Kısa Kısa Kısa Kısa Tamsayı Tamsayı Uzun Uzun Ondalık
UShort Tamsayı Tamsayı Ushort Tamsayı Ushort Tamsayı Uınteger Uzun Ulong
Integer Tamsayı Tamsayı Tamsayı Tamsayı Tamsayı Tamsayı Uzun Uzun Ondalık
UInteger Uzun Uzun Uınteger Uzun Uınteger Uzun Uınteger Uzun Ulong
Long Uzun Uzun Uzun Uzun Uzun Uzun Uzun Uzun Ondalık
ULong Ondalık Ondalık Ulong Ondalık Ulong Ondalık Ulong Ondalık Ulong

\ İşleci

Aşağıdaki tabloda işlecin sonuç veri türleri gösterilmektedir \ . Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin belirli bir bileşimi için, işlenenlerin sırası ne olursa olsun sonuç veri türü aynıdır.

Boolean SByte Byte Short UShort Integer UInteger Long ULong
Boolean Kısa SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Uzun
SByte SByte SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Uzun
Byte Kısa Kısa Bayt Kısa Ushort Tamsayı Uınteger Uzun Ulong
Short Kısa Kısa Kısa Kısa Tamsayı Tamsayı Uzun Uzun Uzun
UShort Tamsayı Tamsayı Ushort Tamsayı Ushort Tamsayı Uınteger Uzun Ulong
Integer Tamsayı Tamsayı Tamsayı Tamsayı Tamsayı Tamsayı Uzun Uzun Uzun
UInteger Uzun Uzun Uınteger Uzun Uınteger Uzun Uınteger Uzun Ulong
Long Uzun Uzun Uzun Uzun Uzun Uzun Uzun Uzun Uzun
ULong Uzun Uzun Ulong Uzun Ulong Uzun Ulong Uzun Ulong

İşlecin işlenenlerinden \ biri Ondalık, Tek veya Çift ise, Visual Basic bunu işlemden önce Long'a dönüştürmeyi dener ve sonuç veri türü olurLong.

İlişkisel ve Bit Düzeyinde Karşılaştırmalar

İlişkisel bir işlemin (=, , , <, >, <=) >=sonuç veri türü her zaman BooleanBoole Veri Türü'dür<>. Aynı durum işlenenlerdeki Boolean mantıksal işlemler (And, AndAlso, Not, Or, , OrElseXor) için de geçerlidir.

Bit düzeyinde mantıksal işlemin sonuç veri türü işlenenlerin veri türlerine bağlıdır. ve değerlerinin AndAlso yalnızca için Booleantanımlandığını ve Visual Basic'in işlemi gerçekleştirmeden önce her işleneni gerektiği Boolean gibi dönüştürdüğünü OrElse unutmayın.

=, <>, <, , <>=ve >= İşleçler

her iki işlenen de iseBoolean, Visual Basic değerinden küçük Falsekabul ederTrue. Sayısal bir tür ile Stringkarşılaştırılırsa, Visual Basic işlemden önce öğesine dönüştürmeyi StringDouble dener. Bir Char veya Date işlenen yalnızca aynı veri türünün başka bir işleneniyle karşılaştırılabilir. Sonuç veri türü her zaman Booleanşeklindedir.

Bit Düzeyinde Not İşleci

Aşağıdaki tabloda bit düzeyinde Not işlecin sonuç veri türleri gösterilmektedir.

Boolean SByte Byte Short UShort Integer UInteger Long ULong
Not Boolean SByte Bayt Kısa Ushort Tamsayı Uınteger Uzun Ulong

İşlenen Decimal, , DoubleSingleveya Stringise Visual Basic işlemden önce bunu öğesine Long dönüştürmeyi dener ve sonuç veri türü olurLong.

Bit Düzeyinde Ve, Veya ve Xor İşleçleri

Aşağıdaki tabloda bit düzeyinde And, Orve Xor işleçleri için sonuç veri türleri gösterilmektedir. Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin belirli bir bileşimi için, işlenenlerin sırası ne olursa olsun sonuç veri türü aynıdır.

Boolean SByte Byte Short UShort Integer UInteger Long ULong
Boolean Boolean SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Uzun
SByte SByte SByte Kısa Kısa Tamsayı Tamsayı Uzun Uzun Uzun
Byte Kısa Kısa Bayt Kısa Ushort Tamsayı Uınteger Uzun Ulong
Short Kısa Kısa Kısa Kısa Tamsayı Tamsayı Uzun Uzun Uzun
UShort Tamsayı Tamsayı Ushort Tamsayı Ushort Tamsayı Uınteger Uzun Ulong
Integer Tamsayı Tamsayı Tamsayı Tamsayı Tamsayı Tamsayı Uzun Uzun Uzun
UInteger Uzun Uzun Uınteger Uzun Uınteger Uzun Uınteger Uzun Ulong
Long Uzun Uzun Uzun Uzun Uzun Uzun Uzun Uzun Uzun
ULong Uzun Uzun Ulong Uzun Ulong Uzun Ulong Uzun Ulong

İşlenen Decimal, , SingleDoubleveya Stringise, Visual Basic bunu işlemden önce dönüştürmeyi Long dener ve sonuç veri türü, bu işlenenin zaten Longolmasıyla aynıdır.

Çeşitli İşleçler

& işleci yalnızca işlenenlerin birleştirilmiş olması String için tanımlanır. Visual Basic, her işleneni işlemden önceye String dönüştürür ve sonuç veri türü her zaman Stringşeklindedir. işlecinin & amaçları doğrultusunda, tüm dönüştürmeleri String , olsa Option StrictOnbile genişlemesi olarak kabul edilir.

Is ve IsNot işleçleri her iki işlenenin de başvuru türünde olmasını gerektirir. TypeOf...Is ifadesi, ilk işlenenin bir başvuru türünde olmasını ve ikinci işlenenin bir veri türünün adı olmasını gerektirir. Tüm bu durumlarda sonuç veri türü olur Boolean.

işleci Like yalnızca işlenenlerin desen eşleştirmesi String için tanımlanır. Visual Basic, her işleneni işlemden önce gerektiği gibi dönüştürmeye String çalışır. Sonuç veri türü her zaman Booleanşeklindedir.

Ayrıca bkz.