Visual Basic'de Aritmetik İşleçler
Aritmetik işleçler, pek çok hesaplama değişmezleri, değişkenler, diğer ifadeler, işlevi ve özelliği aramalar ve sabitler tarafından temsil edilen sayısal değerler içeren tanıdık aritmetik işlemleri gerçekleştirmek için kullanılır.Ayrıca aritmetik iþleçlerle sınıflandırılmış işlenen her biti düzeyinde davranacak ve bunların bit şekillerine sola veya sağa kaydırma bit kaydırma işleçleri şunlardır.
Aritmetik işlemler
Bir ifade ile birlikte iki değeri toplamak + İşleci (Visual Basic), ya da başka bir çıkarma - İşleci (Visual Basic)gibi aşağıdaki örnekte gösterilmiştir.
Dim x As Integer
x = 67 + 34
x = 32 - 12
Negatiflik de kullanan - İşleci (Visual Basic), ancak yalnızca bir işlenen aşağıdaki örnekte gösterilmiştir.
Dim x As Integer = 65
Dim y As Integer
y = -x
Çarpma ve bölme kullanımı * İşleci (Visual Basic) ve / İşleci (Visual Basic), sırasıyla aşağıdaki örnekte gösterilmiştir gibi.
Dim y As Double
y = 45 * 55.23
y = 32 / 23
Üs kullanır ^ İşleci (Visual Basic)gibi aşağıdaki örnekte gösterilmiştir.
Dim z As Double
z = 23 ^ 3
' The preceding statement sets z to 12167 (the cube of 23).
Tamsayı bölme gerçekleştirilir kullanarak \ İşleci (Visual Basic).Sayının tamsayı bölme verir, yani sayısını gösteren tamsayı bölen kar payı dikkate alınarak bir hatırlatıcı olmadan ayırabilirsiniz.Both the divisor and the dividend must be integral types (SByte, Byte, Short, UShort, Integer, UInteger, Long, and ULong) for this operator.Tüm diğer türleri için tamsayı türü önce dönüştürülmesi gerekir.Tamsayı bölümü aşağıdaki örnekte gösterilmiştir.
Dim k As Integer
k = 23 \ 5
' The preceding statement sets k to 4.
Aritmetik modül kullanılarak gerçekleştirilir Mod İşleci (Visual Basic).Bu işleç kalanı bölen bölünendir bölme sonra ayrılmaz bir kaç kez verir.Bölen hem de kar payı ayrılmaz türleri, döndürülen değeri ayrılmaz.Bölen ve kar payı kayan nokta türü ise, döndürülen değeri de kayan nokta.Bu davranış aşağıdaki örnekte gösterilmiştir.
Dim x As Integer = 100
Dim y As Integer = 6
Dim z As Integer
z = x Mod y
' The preceding statement sets z to 4.
Dim a As Double = 100.3
Dim b As Double = 4.13
Dim c As Double
c = a Mod b
' The preceding statement sets c to 1.18.
Denenen sıfıra bölme
Sıfıra bölme, söz konusu veri türlerine bağlı olarak farklı sonuçlar vardır.In integral divisions (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong), the .NET Framework throws a DivideByZeroException exception.Bölme işlemleri, Decimal veya Single veri türü .NET Framework da atar bir DivideByZeroException özel durum.
Kayan noktalı bölümler maddelerle ilgili olarak Double veri türü hiçbir istisnası atılır ve sonucu temsil eden sınıf üyesi olduğu NaN, PositiveInfinity, veya NegativeInfinitybağlı bölünendir.Aşağıdaki tabloda çeşitli bölme girişiminde sonuçlarını özetler bir Double sıfır değeriyle.
Kar payı veri türü |
Bölen veri türü |
Kar payı değeri |
Sonuç |
Double |
Double |
0 |
NaN(matematiksel olarak tanımlanan sayı değil) |
Double |
Double |
> 0 |
|
Double |
Double |
< 0 |
Ne zaman catch bir DivideByZeroException özel durum, bunu işlemek amacıyla üyeleri kullanabilir.Örneğin, Message özelliği özel durum için ileti metnini içerir.Daha fazla bilgi için bkz. Try...Catch...Finally Deyimi (Visual Basic).
Bit SHIFT işlemleri
Bir bit SHIFT işlem aritmetik bir shift bir bit desenine yapar.Desen kaymak için pozisyon sayısını sağdaki işlenenin belirtmesine karşın sol işlenenin desen bulunur.Soldan sağa desen kaymak >> İşleci (Visual Basic) veya sol ile << İşleci (Visual Basic).
The data type of the pattern operand must be SByte, Byte, Short, UShort, Integer, UInteger, Long, or ULong.Shift tutarı işlenen veri türünde olmalıdır Integer veya genişletmek gerekir Integer.
Aritmetik kaymaları yeniden ortaya bir ucunu sonucu kaydırılacağı uzaklık BITS diğer ucunda ise çıkar değil yani döngüsel, değil.Shift tarafından vacated bit konumları aşağıdaki gibi ayarlayın:
Aritmetik sol ÜSTKRKT + 0
Aritmetik sağ üst karakter, pozitif bir sayı 0
Aritmetik sağ üst karakter imzasız veri türü 0 (Byte, UShort, UInteger, ULong)
Aritmetik sağ üst karakter negatif bir sayının 1 (SByte, Short, Integer, veya Long)
Aşağıdaki örnek kayar bir Integer sol ve sağ değer.
Dim lResult, rResult As Integer
Dim pattern As Integer = 12
' The low-order bits of pattern are 0000 1100.
lResult = pattern << 3
' A left shift of 3 bits produces a value of 96.
rResult = pattern >> 2
' A right shift of 2 bits produces value of 3.
Aritmetik kaymaları asla taşma özel durumlar oluşturmak.
Bitsel işlemler
Mantıksal işleçler, hem Not, Or, And, ve Xor de sayısal değerleri kullanıldığında Bitsel aritmetik gerçekleştirin.İçinde "Bitsel işlemler" daha fazla bilgi için bkz: Visual Basic'de Mantıksal ve Bit Düzeyinde İşleçler.
Tür güvenliği
İşlenen, normal olarak aynı türde olması gerekir.Örneğin eklenmesiyle yapıyorsanız, bir Integer değişken, bunu başka birine eklemeniz Integer değişken ve atama sonucu türünde bir değişken Integer de.
İyi denkliği sağlamak için tek yönlü kodlama uygulaması kullanmaktır Option Strict Deyimi.Ayarlarsanız Option Strict On, Visual Basic otomatik olarak gerçekleştirir tür-güvenli dönüşümleri.Eklemeyi denerseniz, örneğin, bir Integer değişken için bir Double değişken değerini atayın ve bir Double değişkeni, işlem normalde, çünkü ilerler bir Integer için değer dönüştürülebilir Double veri kaybı olmadan.Güvensiz türü dönüştürmeleri diğer taraftan, bir derleyici hatası ile neden Option Strict On.Eklemeyi denerseniz, örneğin, bir Integer değişken için bir Double değişken değerini atayın ve bir Integer değişken, bir derleyici hatası, nedeniyle oluşur bir Double değişken örtülü olarak dönüştürülemez yazmanız için Integer.
Ayarlarsanız Option Strict Off, ancak Visual Basic beklenmeyen veri veya duyarlık kaybına yol açabilir, ancak, etkili olabilmesi daraltma örtük dönüştürmeler sağlar.Bu nedenle, kullanmanızı öneririz Option Strict On üretim kod yazarken.Daha fazla bilgi için bkz. Genişletme ve Daraltma Dönüşümleri (Visual Basic).
Ayrıca bkz.
Başvuru
Aritmetik İşleçler (Visual Basic)
Bit Kaydırma İşleçleri (Visual Basic)
Kavramlar
Visual Basic'de Karşılaştırma İşleçleri
Visual Basic'de Birleştirme İşleçleri