İşleç Sonuçlarının Veri Türleri (Visual Basic)
Visual Basic, işlenenlerin veri türlerine göre bir işlem sonuç veri türünü belirler. Bazı durumlarda bu, her iki işlenenden daha yüksek 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
Tamsayı, UInteger — 4.294.967.296 (4.2...E+9) olası tam sayı değerleri
Long, ULong — 18.446.744.073.709.551.615 (1.8...E+19) olası tamsayı değerleri
Ondalık — 1,5...E+29 olası tamsayı değerleri, maksimum aralık 7,9...E+28 (mutlak değer)
Tek — maksimum aralık 3,4...E+38 (mutlak değer)
Çift — maksimum aralık 1,7...E+308 (mutlak değer)
Veri türleri hakkında daha Visual Basic için bkz. Veri Türleri.
Bir işlenen Nothing olarak değerlendirilirse, Visual Basic işleçler bunu sıfır olarak değerlendirir.
Ondalık Aritmetik
Ondalık veri türünün ne kayan nokta ne de tamsayı olduğunu unutmayın.
, , , veya işlemi işlenenlerden biri ise ve diğeri ya da değilse Visual Basic, diğer + – * / Mod Decimal Single Double işleneni olarak Decimal genişlettir. içinde işlemi gerçekleştirir Decimal ve sonuç veri türü Decimal olur.
Floating-Point Aritmetik
Visual Basic, bu tür işlemler için en verimli veri türü olan Çift içinde en kayan nokta aritmetik işlemlerini gerçekleştirir. Ancak, bir işlenen Tek ise ve diğeri ise , Visual Basic içinde Double işlemi Single gerçekleştirir. her işleneni işlemden önce uygun veri türüne göre genişleter ve sonuçta bu veri türü olur.
/ ve ^ İşleçleri
işleci / yalnızca Ondalık, Tek ve Çift veri türleri için tanımlanır. Visual Basic, işlemden önce uygun veri türü için gerektiğinde her işleneni genişleter ve sonuçta bu veri türü olur.
Aşağıdaki tabloda işleci için sonuç veri türleri / gösterir. Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin verilen birleşimi için sonuç veri türü işlenenlerin sırasına bakılmaksızın aynıdır.
Decimal |
Single |
Double |
Herhangi bir tamsayı türü | |
|---|---|---|---|---|
Decimal |
Ondalık | Tek | Çift | Ondalık |
Single |
Tek | Tek | Çift | Tek |
Double |
Çift | Çift | Çift | Çift |
| Herhangi bir tamsayı türü | Ondalık | Tek | Çift | Çift |
işleci ^ yalnızca veri türü için Double tanımlanır. Visual Basic, her işleneni işlemden önce gereken şekilde genişleter ve Double sonuç veri türü her zaman Double olur.
Tamsayı Aritmetiği
Tamsayı işlemi sonuç veri türü işlenenlerin veri türlerine bağlıdır. Genel olarak, Visual Basic veri türünü belirlemek için aşağıdaki ilkeleri kullanır:
bir ikili işlecinin her iki işleneni de aynı veri türüne sahipse, sonuç bu veri türüne sahip olur. Özel durum,
Booleanzorlanan 'Shortdır.İmzasız bir işlenen, imzalı bir işlenene katıyorsa, sonuç en az iki işlenen kadar büyük bir aralıkta imzalı bir türe sahip olur.
Aksi takdirde, sonuç genellikle iki işlenen veri türüne göre daha büyük olur.
Sonuç veri türünün her iki işlenen veri türüyle aynı olabileceğini unutmayın.
Not
Sonuç veri türü, işlemden elde edilen tüm olası değerleri tutmak için her zaman yeterince büyük değildir. Değer OverflowException sonuç veri türü için çok büyükse bir özel durum oluşabilir.
Birli + ve – İşleçler
Aşağıdaki tabloda iki birli işleç için sonuç veri türleri ve yer + – almaktadır.
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 |
<< and >> İşleçleri
Aşağıdaki tabloda iki bit kaydırma işleci (ve) için sonuç veri türleri << ve yer >> almaktadır. Visual Basic her bit kaydırma işlecine sol işlenende birli işleç (kaydıracak bit deseni) olarak davranır.
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
|---|---|---|---|---|---|---|---|---|---|
<<, >> |
Kısa | SByte | Bayt | Kısa | Ushort | Tamsayı | Uınteger | Uzun | Ulong |
Sol işlenen , , veya ise, Visual Basic işlemden önce biçimine dönüştürmeyi ve sonuç Decimal veri türünü ise olarak Single Double String Long Long çalışır. Sağ işlenen (kaydırmak için bit konumlarının sayısı) veya Integer olarak genişletilen bir tür olması Integer gerekir.
İkili +, –, * ve Mod İşleçleri
Aşağıdaki tabloda, ikili ve işleçler ve + ve – işleçleri için sonuç * veri türleri Mod gösterir. Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin verilen birleşimi için sonuç veri türü işlenenlerin sırasına bakılmaksızın 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şleci için sonuç veri türleri \ gösterir. Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin verilen birleşimi için sonuç veri türü işlenenlerin sırasına bakılmaksızın 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 |
İşleçlerden biri Ondalık , Tek veya Çift ise, Visual Basic işleci uzun olarak dönüştürmeyi dener ve sonuç \ veri türü Long olur.
İlişkisel ve BitWise Karşılaştırmaları
İlişkisel bir işlemi ( , , , , , ) sonuç veri türü her = <> zaman < > <= >= Boolean Boole Veri Türü olur. Aynı durum işlenenler üzerinde mantıksal işlemler ( And , , , , ) için de AndAlso Not Or OrElse Xor Boolean doğrudur.
Bitwise mantıksal bir işlemi sonuç veri türü işlenenlerin veri türlerine bağlıdır. ve 'nin yalnızca için AndAlso OrElse tanımlandığına ve Visual Basic, işlemi gerçekleştirmeden önce her işleneni gereken Boolean Boolean şekilde dönüştürür.
=, <>, , <, > <=, and > = İşleçler
Her iki işlenen de Boolean ise, Visual Basic küçük True olarak kabul False edilecektir. Sayısal tür bir ile karşılaştırıldı String ise, Visual Basic önce 'ye String Double dönüştürmeye çalışır. Bir Char veya Date işleneni yalnızca aynı veri türüne sahip başka bir işlenenle karşılaştırabilirsiniz. Sonuç veri türü her zaman Boolean olur.
BitWise Not İşleci
Aşağıdaki tabloda bitwise işlecinin sonuç veri türleri Not gösterir.
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
|---|---|---|---|---|---|---|---|---|---|
Not |
Boole | SByte | Bayt | Kısa | Ushort | Tamsayı | Uınteger | Uzun | Ulong |
İşleci , , veya ise, Visual Basic önce işlenene dönüştürmeye çalışır ve Decimal Single sonuç veri türü Double String Long Long olur.
BitWise And, Or ve Xor İşleçleri
Aşağıdaki tabloda bitwise , ve işleçleri And için sonuç veri türleri Or Xor gösterir. Bu tablonun simetrik olduğunu unutmayın; işlenen veri türlerinin verilen birleşimi için sonuç veri türü işlenenlerin sırasına bakılmaksızın aynıdır.
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
|---|---|---|---|---|---|---|---|---|---|
Boolean |
Boole | 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 |
Bir işlenen , , veya ise, Visual Basic işlemden önce türüne dönüştürmeye çalışır ve sonuç veri türü, o işlenenin zaten olduğu Decimal Single gibi aynı Double String Long Long olur.
Çeşitli İşleçler
işleci & yalnızca işlenenlerin birletirasyonu String için tanımlanır. Visual Basic, her işleneni işlemden önce gereken şekilde dönüştürür ve String sonuç veri türü her zaman String olur. işlecinin amaçları doğrultusunda, olan tüm dönüştürmeler genişletiyor & String olarak kabul Option Strict On edilir.
ve Is IsNot işleçleri, her iki işlenenin de bir başvuru türünde olması gerekir. TypeOf... Is ifadesi, ilk işlenenin bir başvuru türünde, ikinci işlenenin de bir veri türünün adı olması gerekir. Tüm bu durumlarda sonuç veri türü Boolean olur.
işleci Like yalnızca işlenenlerin desen String eşleştirmesi için tanımlanır. Visual Basic, işlemden önce her işleneni gereken String şekilde dönüştürmeye çalışır. Sonuç veri türü her zaman Boolean olur.