IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  reklamver

Etiketlenen Kullanıcılar

11Beğeni(ler)
  • 6 Post By Feragat
  • 1 Post By IrCbaStarD
  • 2 Post By Feragat

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 20 Kasım 2014, 22:32   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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:   Kodu kopyalamak için üzerine çift tıklayın!
//if (9 & 10) { echo -a Sonuç: $and(9,10) } | else { echo -a Sonuç Yok } Sonuç: 8

Örnek2:
Koşul;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//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.

__________________
The Ghost of Christmas Past...

i'm here sometimes

Konu Feragat tarafından (27 Şubat 2016 Saat 16:52 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver
Alt 20 Kasım 2014, 23:19   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Birçok Identifer ve Açıklamaları... [1]




Aşiyorsun bizi sen abi hayirli işler :ASDakljsdh
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 26 Kasım 2014, 23:23   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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.

__________________
The Ghost of Christmas Past...

i'm here sometimes
 
Alıntı ile Cevapla

Cevapla

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 Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Alanlar ve tanımlar / döndürür DaDaS CR Makaleler 0 14 Ocak 2012 23:16
Tanımlar Kalemzede Felsefe 0 07 Ekim 2011 15:19
whois identifiers'i Lord_Raiden mIRC Scripting Sorunları 2 25 Aralık 2008 14:26
Tokenize Identifiers ($gettok v.s.) MephisTo mIRC Scripting Dersleri 27 07 Aralık 2008 12:26