![]() |
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(açık bit) ve sonuç 1 döndü. //echo -a $isbit(5,2) - 0 Burada 2. Bit'i sorguladı ve 2. Bit 0'a eşit(kapalı bit) 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 } Koşul; Kod: //if (7 & 8) { echo -a Sonuç: $and(7,8) } | else { echo -a 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. |
Cevap: Birçok Identifer ve Açıklamaları... [1] Aşiyorsun bizi sen abi hayirli işler :ASDakljsdh :D |
Bitwise Identifiers (Bitsel Tanımlar) Burada amaç; mIRC Scripting de pek üzerinde durulmamış konulara değinmekti. Aklımda bir kaç buna benzer konu daha var. Kısmet olursa bir gün onlarıda anlatıp paylaşmak istiyorum. |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 15:58. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk