Compound Operatörler(+=,-=,*=,/=,%=,&=,^=,|=)

15 Ağu by NURULLAH ÇAKIR

Compound Operatörler(+=,-=,*=,/=,%=,&=,^=,|=)

Compound Operatöler ile değişkenler üzerinde yapılan işlemleri daha kolay bir şekilde yapabiliriz. Örneğin @a bir değişken olsun ve @a’nın değerini 2 arttırmak isteyelim. Normal şartlar altında @a=@a+2 ile bu işlemi yapabilecekken compound operatörlerden olan += ile @a+=2 ile aynı işlemi gerçekleştirebiliriz.

 

Aşağıda compound operatörlerin listesini bulabilirsiniz.

Operatör

Açıklama

+=

@a=@a+2 yerine @a+=2 şekline kullanılabilir

-=

@a=@a-2 yerine @a-=2 şekline kullanılabilir

*=

@a=@a*2 yerine @a*=2 şekline kullanılabilir

 

Örnek Sorgu:

Declare @a int

SET @a=3;

SET @a*=3

Select @a

 

/=

@a=@a/2 yerine @a/=2 şekline kullanılabilir

%=

@a=@a%2 yerine @a%=2 şekline kullanılabilir. % işareti ile bölümünden kalan verilir.

 

Örneğin başlangıçta @a değişkenine 9 değerini atasanız ve @a%=4 yapsanız

 

9’un 4’e bölümünden kalan 1 olduğu için @a değişkeninin değeri artık 1 olacaktır.

&=

Bitsel and işlemi uygular. Örneğin;

 

Declare @degisken int

Set @degisken = 170

Set @degisken &=75

Select @degisken as Sonuc

 

Sorgudaki 170 değerinin binary açılımı 0000 0000 1010 1010 iken 75’in binary açılımı 0000 0000 0000 1010 değerine sahip. Bu iki binary değere and işlemi uygulayınca sonuç 10 çıkacaktır. AND işlemi her iki binary değerinin çarpımı sonucu bulunur. Yani karşılıklı gelen iki değer de 1 ise sonuç 1 olacaktır. Herhangi biri sıfır ise sonuç 0 olacaktır.

 

^=

Bitsel Exclusive OR işlemi uygular. Örneğin;

 

Declare @degisken int

Set @degisken = 170

Set @degisken ^=75

Select @degisken as Sonuc

 

Sorgudaki 170 değerinin binary açılımı 0000 0000 1010 1010 iken 75’in binary açılımı 0000 0000 0000 1010 değerine sahip. Bu iki binary değere OR işlemi uygulayınca sonuç 0000 0000 1110 0001 çıkacaktır. Exclusive OR işleminde karşılıklı gelen her iki binary değerinden 1 tanesi 1 ise sonuç 1 olacaktır. Her ikisi de 1 ise sonuç 0 olacaktır.  Sorguyu çalıştırdığınızda sonuç 225 dönecektir. Çünkü 0000 0000 1110 0001 değerinin decimal karşılığı 225’tir.

|=

Bitsel OR işlemi uygular. Örneğin;

 

Declare @degisken int

Set @degisken = 170

Set @degisken |=75

Select @degisken as Sonuc

 

Sorgudaki 170 değerinin binary açılımı 0000 0000 1010 1010 iken 75’in binary açılımı 0000 0000 0000 1010 değerine sahip. Bu iki binary değere OR işlemi uygulayınca sonuç 0000 0000 1110 1011 çıkacaktır. OR işleminde karşılıklı gelen her iki binary değerinden 1 tanesi 1 ise sonuç 1 olacaktır.  Sorguyu çalıştırdığınızda sonuç 235 dönecektir. Çünkü 0000 0000 1110 1011  değerinin decimal karşılığı 235’tir.

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir