Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
1
Cevap
872
Tıklama
0
Öne Çıkarma
Bitwise Operator matematiksel açıklamaları
X
16 yıl (57 mesaj)
Çavuş
Konu Sahibi

~, ^ , | , & , << , >> gibi operatorlerin matematiksel açıklamaları mevcut mudur ? Yani atıyorum x>>y , x çarpı y bölü bilmemne türü bir açıklamaları varsa yazarsanız sevinirim..

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



S
16 yıl (2599 mesaj)
Yarbay

Adı üstünde bunların bitwise, bitsel operatörler, bilindiği gibi bilgisayarlar bizim konuşma dilimizden farklı bir dil kullanırlar ( bildiniz binary! ), bitwise operatörler bir değişkene, bir array e, bir tipe, bir methoda uygulanabilirler. Gelelim açıklamalarına:

~ ( Bitwise NOT ) yani Değil operatörü bitler üzerinde değil alır. Örneklemek gerekirse elimizde:
0xFA diye bir hex sayımız olsun bunun binary değeri 1111 1010 dir eğer biz 0xFA değerine Bitwise Not operatörü ile işlem uygularsak elde ediceğimiz sayı

0000 0101 olacaktır ki buda bize 0x05 hex i verir. Yani:

0xFA ( 1111 1010 ) = 250
~0xFA ( 0000 0101 ) = 5

| ( Bitwise OR ) Bitsel toplama operatörüdür, tekrar 0xFA sayısını ele alalım:

0xFA ( 1111 1010 ) = 250
0xFA |= 0x05
yukarıdaki işlem size:

1111 1010
0000 0101
+___________
1111 1111

sonucunu verir yani elde ettiğiniz sayı: 0xFF olur.

^ ( Bitwise XOR ) Genelde bizde "Özel Veya" diye öğretilir. Farklı bitlerin ortaya çıkmasını sağlar:

1111 1010 ^ 0000 0111 = 1111 1101

Şeklinde bir işlem çıktısı verir. Yani farklı olan bitlerin değeri 1 aynı olanlarınki 0 olarak çıkar.

& ( Bitwise AND ) Çarpım operatörüdür.

1111 1110
0000 0101
X___________
0000 0100

Olarak çıktı verir.

<< ( Bitwise Shift Left) Bit kaydırma operatörüdür verilen sayının bitlerini sola doğru verilen değer kadar kaydırır.

1111 1110 << 1 = 1111 1100

>> ( Bitwise Shift Right ) Bit kaydırma operatörüdür verilen sayının bitlerini sağa doğru verilen değer kadar kaydırır.

1111 1110 >> 1 = 0111 1111

Önemli Not: Carry Flag, Zero Flag v.b Terimsel Açıklamalara Değinmedin, çok bilmiş arkadaşlar çıkıpda shift de şöyle olursa böyle olur böyle olmazsa böyle olur yanlış biliyosun haha diye bir tavır takınmak yerine, onlarda onu yazarsa daha iyi olur.

Kolay gelsin.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.