iOS 102Başlangıç seviyesi derslerde iOS uygulama geliştirme ortamını detaylı olarak inceliyoruz.

Tüm Eğitimleri Aldın mı? Kendini sınamanın tam zamanı

Haydi Sınava Gir

Bit Düzeyinde İşlem Gören Operatörler

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 16.05.2016 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : swift bit düzeyinde swift operatörler

 

BİT DÜZEYİNDE İŞLEM GÖREN OPERATÖRLER

Swift’te,bit düzeyindeki (bitwise) operatörler C’den aynen alınmıştır. Bu tür operatörler yardımı ile bir veri yapısı içindeki belirli bitler’e erişmek ve farklı veriler arasında bit’ler mertebesinde karşılaştırmalar yapmak mümkün olmaktadır. Bu operatörler aşağıdaki tabloda listelendiği gibidir:

 

 

Operatör Sembol Kullanışı İşlem Sonucu
Sağa Öteleme >> a>>b a'nın bitleri sağa doğru b kadar ötelenir
Sola Öteleme << a<<b a'nın bitleri sağa doğru b kadar ötelenir
Bit düzeyinde AND & a & b a ve b'nin karşılıklı bit'leri arasında AND işlemi uygulanır.

 

Bit düzeyinde  |                     a|b                 

a ve b'nin karşılıklı

bit'leri arasında OR işlemi uygulanır

Bit düzeyinde exclusive OR(XOR) ^ a^b a ve b'nin karşılıklı bitl'leri arasında XOR işlemi uygulanır.
Bit düzeyinde tamamlayıcı (complement) ~ ~a a'nın bitlerini tersine çevirir(1'ler 0,0'lar 1 olur.)

 


ÖTELEME OPERATÖRLERİ

 

Öteleme operatörlerinde kullanılacak olan operandların int türde olması gerekir. int türde değilse otomatik olarak int türe dönüştürülürler.

 

ÖRNEKLER:

 

onluk sistem ikilik sistem (int)

6 00000000 00000110

6 << 2 işlemi uygulanırsa sonuç: 00000000 00011000

6 sayısı, bit’leri sola doğru 2’şer kaydırılarak 24 sayısına dönüşmüştür.

 

onluk sistem ikilik sistem (int)

314 00000000 00111010

314 >> 3 işlemi uygulanırsa sonuç: 00000000 00100111

314 sayısı 39 sayısına dönüşmüştür.

Aşağıdaki programda bu operatörlerle ilişkili örnek ifadeler kullanılmıştır:

print("\n25556 >> 6=\(25556>>6)")

print("\n-345>>5 =\(-345>>5)")

print("\n32 << 4=\(32<<4)")

print("\n87 >>2=\(87>>2)")

 

SONUÇ:

25556 >> 6=399



-345>>5 =-11



32 << 4=512



87 >>2=21

Sola doğru öteleme, ötelemenin uygulandığı sayıyı, 2’nin kuvveti ile çarpmakla eşdeğerdir.

 

Örneğin :

 

a << b ifadesi a * 2b ifadesine denktir.

 

Negatif olmayan sayılarda, sağa öteleme ise, 2’nin kuvvetine bölmeye eşdeğerdir.

 

a >> b ifadesi ile a / 2b ifadeleri birbirine denktir.

 

ÖRNEK KOD:

import Foundation



print("\n5<<4=\(5 << 4) \t 5 * 2 ^ 4=\( Double(5) * pow( 2, 4))" )

print("\n720>>3=\(720 >> 3)\t 720/2^3=\(Double(720) / pow(2 , 3))")

 

KODUN ÇIKTISI

 

5<<4=80 5 * 2 ^ 4=80.0



720>>3=90 720/2^3=90.0