lookjapan.COM - IRC ve mIRC dünyasının forumu!   buy vps


  lookjapan.COM - IRC ve mIRC dünyasının forumu! IF - mIRC Scripting mIRC Scripting Dersleri


Like Tree1Teşekkürler;
  • 1 Post By Feragat

Yeni Konu   Cevap Yaz

 
LinkBack Seçenekler Stil
Alt 25 Şubat 2015, 19:43   #1
 
Feragat - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 25 Şubat 2015
Bulunduğu yer: Gotham City
Mesajlar: 17
WEB Sitesi: www.mircscripting.net
IRC Sunucusu: irc.mircscripting.net
İlgi Alanı: mIRC Scripting
Alınan Beğeni: 32
Red face Bitwise Identifiers (Bitsel Tanımlar)

;Hazırlayan: Feragat


- Bitwise Iidentifiers (Bitsel Tanımlar)-

Tanımlar: $isbit - $biton - $bitoff - $and - $or - $xor - $not

Bitsel(Bitwise) işlemler, sayıların binary değerlerinin görülmesinde ve karşılaştırılmasında kullanılan matematiksel işlemlerdir.
Binary değerleri sayıları ikilik taban sisteminde yazmanın farklı bir yoludur.
$base kullanılarak, sayılar 10'luk sistemden(Normal sayma sistemi), binary'e dönüştürülebilir.



.::: $isbit Tanımı :::.

-mirc.chm (mirc yardım) dosyasındaki anlatımı-
$isbit(A,N)
Returns 1 if the Nth bit in number A is turned on.

Kullanımı: $isbit(Sayı,BitNumarası)

Açıklama: Sonuç 1 dönerse 2. Sayıda belirtilen bit numarası açıktır(1). Eğer 0 dönerse kapalı(0).

Örnek:
//echo –a $isbit(5,1) - 1

Neden bir döndüğünü görebilmek için öncelikle 5’in binary değerini buluyoruz ($base(5,10,2,8))

5 = 00000101

$isbit(5,1) yaptığımızda 5 binary değerinin 1. Bit’ini (1'ler basamağı olan en sondakini) temsil etmiş oluruz ve görüldüğü gibi 1. Bit 1’e eşit ve sonuç 1 döndü.

//echo -a $isbit(5,2) - 0
Burada 2. Bit'i sorguladı ve 2. Bit 0'a eşit olduğu için sonuç 0 döndü.

//echo -a $isbit(5,3) - 1
3. Bit 1'e eşit olduğu için 1 döndü.

Sonuç:
5 = 00000101 Binary değerinde 5,1 ve 5,3 sorgusunun dönmesinin sebebi 1.bit(1'ler basamağının) ve 3.bit(yüzler basamağının)'in 1 e eşit olmasıdır.

Kısa bir Örnek:
13 = 00001101 Burada sadece $isbit(13,1) - $isbit(13,3) - $isbit(13,4) sorguları 1 dönecektir.


.::: $biton Tanımı :::.

mirc.chm (mirc yardım) anlatımı
$biton(A,N)
Returns the A value with the Nth bit turned on.

Kullanımı: $biton(Onluk Sayı, N)

Açıklama: N'inci bit numarasını açar.

Örnek: //echo -a $biton(5,2)

5 = 00000101

Sağdan 2. bit'i açar (0 yani kapalı bit, açıldı ve 1 değerini aldı.)

Sonuç: 7 = 00000111


.::: $bitoff Tanımı :::.

mirc.chm (mirc yardım) anlatımı
$bitoff(A,N)
Returns the A value with the Nth bit turned off.

Kullanımı: $bitoff(Onluk Sayı, N)

Açıklama: N'inci bit numarasını kapatır.

Örnek: //echo -a $bitoff(5,3)

5 = 00000101

Sağdan 3. bit'i kapadı. (1 yani açık olan bit kapandı ve 0 oldu.)

Sonuç: 1 = 00000001


.::: $and Tanımı :::.

mirc.chm (mirc yardım) anlatımı
$and(A,B)
Returns A binary and B.

Kullanımı: $and(Sayı 1, Sayı 2)

Açıklama:
Belirtilen rakamların binary değerlerini baz alarak sayıları kıyaslar ve bit'lere işlemler yaparak sonuç verir.

Örnek:
//echo -a $and(11,12)

Binary değerleri:

11 = 00001011
12 = 00001100
-
11 = 0000 1 0 1 1
12 = 0000 1 1 0 0

Burada alt alta basamakları sıraladık, alt alta aynı olan rakamlar olduğu gibi kalıyor. Bir birinden farklı olan rakamlar Sıfır[0]’a dönüşüyor ve sonuç ortaya çıkıyor.

Sonuç: 8 (00001000) Binary’e dönüştürüp kontrol edebiliriz. = //echo -a $base(00001000,2,10) -: 8

Küçük bir örnek daha:

//echo -a $and(5,6)

Binary Değerleri:
5 = 00000101
6 = 00000110

Sonuç: 4 (00000100)

5 = 00000 1 0 1
6 = 00000 1 1 0

Son 3 Bit'in Soldan 1. haneleri alt alta 1 ve 1, bu olduğu gibi kalıyor çünkü aynı. 1 x 1 = 1
Soldan 2. haneleri alt alta 0 ve 1, burada 0, 1'ile çarpılıyor (bit kapanıyor) ve Sıfır[0]'a dönüştürüyor. 0 x 1 = 0
Soldan 3. haneleri alt alta 1 ve 0, burda da yine aynı şekilde 0, 1'ile çarpılıyor ve sonuç: 100 oluyor. 1 x 0 = 0

Sonuç: 4 (00000100)

.::: $and Tanımı İle İlgili Ek Bilgi: :::.

$and tanımı ile ilgili pek bahsedilmemiş bir fonksiyon da if koşulunda bulunuyor.
if (N1 & N2) : Eğer N1 ve N2 değeri $and tanımında Sıfır[0] dışında bir sonuç dönerse koşul çalışır.

Örnek:
Koşul;
Kod:
//if (9 & 10) { echo -a Sonuç: $and(9,10) } | else { echo -a Sonuç Yok }
Sonuç: 8
Örnek2:
Koşul;
Kod:
//if (7 & 8) { echo -a Sonuç: $and(7,8) } | else { echo -a Sonuç Yok }
Sonuç: Sonuç Yok

.::: $or Tanımı :::.

mirc.chm (mirc yardım) anlatımı
$or(A,B)
Returns A binary or B

Kullanımı: $or(Sayı1,Sayı2)

Açıklama: Belirtilen rakamların binary değerlerini alt alta sıraladığımızda. $and tanımında 0'lar 1'leri 0’a dönüştürüyordu, $or tanımında ise 1'ler 0'ları 1'e dönüştürüyor.

Örnek:
//echo -a $or(5,6) :- 7

5 = 00000 1 0 1
6 = 00000 1 1 0

Son 3 Bit'in soldan 1. haneleri alt alta 1 ve 1, bunlar aynı olduğu için kalıyor. 1 x 1 = 1
Soldan 2. haneleri alt alta 0 ve 1, burada 1, 0'ı 1'e dönüştürüyor. 0 + 1 = 1
3. haneleri alt alta 1 ve 0, burada yine 1, 0'ı 1'e dönüştürüyor. 1 + 0 = 1
Sonuç: 7 (00000111)


.::: $xor Tanımı :::.

mirc.chm (mirc yardım) anlatımı
$xor(A,B)
Returns A binary xor B.

Kullanımı: $xor(Sayı1,Sayı2)

Açıklama: Belirtilen rakamların binary değerlerini alt alta sıraladığımızda aynı olan rakamları Sıfır[0] a dönüştürür, Farklı olanlarıda 1'e.

Örnek: //echo -a $xor(5,6)

5 = 00000 1 0 1
6 = 00000 1 1 0

Son 3 Bit'in soldan 1. haneleri alt alta 1 ve 1, bunlar aynı olduğu için 0'a dönüştü. 1 - 1 = 0
Soldan 2. haneleri alt alta 0 ve 1, bunlar birbirinden farklı olduğu için, 1'e dönüştü. 0 + 1 = 1
3. haneleri alt alta 1 ve 0, bunlarda yine birbirinden farklı olduğu için, 1'e dönüştü. 1 + 0 = 1
Sonuç: 3 (00000011)


.::: $not Tanımı :::.

mirc.chm (mirc yardım) anlatımı
$not(A)
Returns the binary not value of A.

Açıklama: 4 bayt'lık(32 bit) maksimum değer olan 11111111111111111111111111111111 yada bunun onluk değeri olan 4294967295 sayıları ile kıyaslama yapar ve sonucu verir.

Kullanımı: $not(Sayı)

Onluk tabandaki değere yaptığı işlem ve sonucu:

Örnek: //echo –a $not(6) -: 4294967289
Baz alınan onluk sayımız: 4294967295
$not(6) tanımından çıkan sonucumuz: 4294967289
İşlem: 4294967295 – 6 = 4294967289

32 bit maksimum değer ile yaptığı işlem ve sonucu:

6 rakamının 32 bit binary değeri: //echo -a $base(6,10,2,32) yani 00000000000000000000000000000110

Kıyaslamada baz alınan 32 bit maksimum sayımız:
11111111111111111111111111111111
Kıyaslanan sayımız (6'nın 32 bit binary değeri):
00000000000000000000000000000110 = $base(6,10,2,32)
Sonuç: 11111111111111111111111111111001

(0’lar 1’e dönüşüyor ve alt alta aynı olan bit'ler(1'ler) ise 0’a dönüşüyor.)

4294967295 = 11111111111111111111111111111111
6 = 00000000000000000000000000000110
4294967289 = 11111111111111111111111111111001

Not: Sonucumuzu, $not(6) tanımından çıkan sonucu dönüştürerekte görebiliriz:
//echo -a $base(4294967289,10,2,32)

Konu ile ilgili faydalı olabilecek kaynaklar:
1-) [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

2-) [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

3-) [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

4-) [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Not: Daha farklı şekillerde/yollarla de anlatılabilirdi, rahat anlaşılabilmesi adına en basite indirgedim. Anlatım, alıntı vs. değildir.


İyi forumlar.
Goemon bu mesaja teşekkür etti





Nil desperandum.
 Feragat isimli Üye şimdilik offline konumundadır   Alıntı
Alt 25 Şubat 2015, 21:36   #2
 
Goemon - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 11 Şubat 2015
Bulunduğu yer: CR Codeman Goemon
Mesajlar: 625
WEB Sitesi: CR
IRC Sunucusu: iRC CR
İlgi Alanı:
Alınan Beğeni: 201
Standart Cevap: Bitwise Identifiers (Bitsel Tanımlar)

eline sağlık usta





CR Codeman Goemon
 Goemon isimli Üye şimdilik offline konumundadır   Alıntı

Yeni Konu   Cevap Yaz

Etiketler
bitsel, bitwise, identifiers, tanımlar


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


web hosting web hosting
 buy vds
 vps buy

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.