İş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
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 Single
Double
, Visual Basic diğer işleneni olarak Decimal
genişleter.Mod
/
–
içinde işlemi Decimal
gerç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 Single
gerç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 Double
olur.
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,
Boolean
zorlamalıShort
olan ş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
, , Double
Single
veya String
ise 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 Integer
bir 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 Boolean
Boole Veri Türü'dür<>
. Aynı durum işlenenlerdeki Boolean
mantıksal işlemler (And
, AndAlso
, Not
, Or
, , OrElse
Xor
) 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 Boolean
tanı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 False
kabul ederTrue
. Sayısal bir tür ile String
karşılaştırılırsa, Visual Basic işlemden önce öğesine dönüştürmeyi String
Double
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
, , Double
Single
veya String
ise 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
, Or
ve 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
, , Single
Double
veya String
ise, Visual Basic bunu işlemden önce dönüştürmeyi Long
dener ve sonuç veri türü, bu işlenenin zaten Long
olması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 Strict
On
bile 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.