PDA

Tam Sürümünü Görmek İçin : << >> ~ & |


hgedek
09/04/2007, 16:05
<< :sola kaydırma
>>:sağa kaydırma
&:logic and
|:logiv or

Bu güne kadar hiç ihtiyacım olmadı ama şimdi bunlar lazım.Ne olduklarını nasıl kullanıldıklarını açıklarmısınız?
Örneğin binary mode da çarpım ve bölüm ters alma gibi örnekler nasıl ifade edilir bunlarla?


BetulSahin
09/04/2007, 19:58
örnek olarak 8 sayısını ele alalım.

8<<2; //8 sayısını binary olarak 2 kere sola kaydırır.Bu decimal olarak 2 kere 2 yle çarp demektir.
sonuç = 32 dir.

8>>2; //8 sayısını binary olarak 2 kere sağa kaydırır.Bu decimal olarak 2 kere 2 yle böl demektir.
sonuç = 2

8 & 2 , 8 | 2 ; //8 ve 2 nin binary karşılıklarına & ve or işlemini uygular sonuç olarak decimal karşılığını üretir.
sonuc = 0, 10

Umarım sorunu doğru anlamışımdır:) kolay gelsin..

acehreli
09/04/2007, 22:19
hgedek, sayilarin ikili sayi tabaninda nasil gosterildiklerini bilince bunlar cok kolaydir.

Bu arada BetulSahin'in soyledigi gibi, onlar 'logic' degil, 'binary'. Logic olanlar iki karakterle gosterilir: && ve ||.

Ali

hgedek
10/04/2007, 02:55
oldukça açık olmuş.tşk.
devre kavramında logic işlemler dediğimiz için ben o şekilde söylemiştim ama hatalı söylemişim.tamamdır.

shurzan
11/04/2007, 23:35
Ufak bir çalışmam olmuştu üstelik kaynak kodlarınıda vermiştim aşağıdaki adreste bir incele istersen.
http://forum.ceviz.net/bitlerle-oynayalim-biraz-t32331.html?t=32331&highlight=binary

furkans
14/04/2007, 09:36
bu operatörlerden bahsederken söylenmesi gereken en önemli şeylerden biri işem önceiğidir! mesela eğer şöyle bi kod parçası yazarsanız;

if (a&b==0); doğru çalışmaz kod..çünkü == operatörünün & operatörüne göre işlem önceliği vardır..oyüzden kodu; if ((a&b)==0) şeklinde yazarsanız yapmak istediğiniz işlemi yapar..saygılar...

acehreli
15/04/2007, 00:26
Ben o yuzden gereksiz olsa bile hep parantez kullaniyorum.

Ali