Aracılığıyla paylaş


Visual Basic'te aritmetik iş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 + İşlecini (Visual Basic), ya da başka bir çıkarma -Operatör (Visual Basic)gibi aşağıdaki örnekte gösterilmiştir.

Dim x As Integer
x = 67 + 34
x = 32 - 12

Negatiflik de kullanan -Operatör (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 / İşleç (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 iş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.

b6ex274z.collapse_all(tr-tr,VS.110).gifDenenen 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

PositiveInfinity

Double

Double

< 0

NegativeInfinity

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 ifadesi (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 >> İşleç (Visual Basic) veya sol ile << İşleç (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'te mantıksal ve Bitsel iş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. Daraltmayı ve daraltmaya dönüşümleri (Visual Basic).

Ayrıca bkz.

Başvuru

Aritmetik işleçler (Visual Basic)

Bit kaydırma işleçleri (Visual Basic)

Kavramlar

Visual Basic'te karşılaştırma işleçleri

Visual Basic'te bitiştirme işleç

Visual Basic'te mantıksal ve Bitsel işleçler

Verimli birleşimi Operators (Visual Basic)