Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

last icq number


Ra_d

Öne çıkan mesajlar

şu tek haneli icq numarasını hedesini görünce bende arattım.
sonra 13 takıntım olduğu için 131313 numarasına baktım.bi rusda numara internet advertising falan yazıyo.bide 13131313 numarasına baktım oda başka bi rusta.
mallığıma gelip13 'ü arattım ve karşıma

The field ICQ# is out of range 10000-2147483646

yazısı çıktı.

işte benim kafam burda karıştı. acaba 2147483646 saysı 2'nin bi kuvvetimi acaba diye düşündüm. sayının rakamlarını topladım 45.ulan 3'e bölünüyo dedim.ama Sign Bit olayı aklıma geldi,hani bir eksiğimidir acaba diye.
bilmeyenler için kısaca özetleyelim.bilg'de farz edelim 8 bit bir ifadede en fazla 127ye kadar gösterebilirsiniz,2 üzeri 8'in değeri olan 256'ya kadar değil yani.çünkü bilg ilk bit değerini sayının '-' mi yoksa '+' mı olduğunu anlamak için kullanır. bu yüzden 8 bit bi ifadede -128 ile +127 arasıda işlem yapabilirsiniz.

sonra açtım heasp makinesini 10 rakamlı olana kadar 2'nin kuvvetini aldım 2 üzeri 31=2147483648 çıktı.

ICQ# kullanılabilen en yüksen numarası 2147483646 , 2147483648 numarasınında sign bit'den dolayı gittiğini düşünürsek 2147483647 numarası kayıp.

şimdi asıl soru 10000'den aşşasını adminler kullanıyo falan diyoruz. peki 2147483647'yi kim kullanıyo.flower power'ı en yüksek olan mı?[hline]And Ra'd glorifies and praises Him,
and so do the angels because of His Awe.
Link to comment
Sosyal ağlarda paylaş

baba sanırım ben anlatamıyorum.geri zekalı bi insan değilim icq numaralarının nasıl dağıtıldığını bende biliyorum...

şimdi şöle anlatayım.biraz sert olcak ama olsun.

sanırım her hangi bi icq bağlantısında bir icq numarası gönderiliyor.bu adamlar bu sayıların hepsinin bi binary karşılığınının ne kadar yer tutacağını biliyolar.bu yüzden iki bilgisayar arasında gönderilen paketler arasında icq numarasıda olacağından bu numaranın en fazla 32 bit olmasını istemiş olabilirler(sanırım).bu 32 bit'in 1 bit'i signed bit olarak gittiği için geriye kalan 31 bit'in sayı karşılığı kadar numarayı kullanıma açabiliriz demiş olabilirler.ilk 10000'i kendilerine alıp geri kalan 10000-2147483647 aralığını kullanıma açmış olmaları lazım ama bu aralık 2147483646'ya kadar. o zaman 2147483647'yi kim kullanıyo diyorum ben. ok?

bu arada yukardakileri bildiğimden sölemiyorum.tahmin yani hepsi.[hline]And Ra'd glorifies and praises Him,
and so do the angels because of His Awe.
Link to comment
Sosyal ağlarda paylaş

said:
Ra_d, 09 Aralık 2002 01:32 tarihinde demiş ki:
sanırım her hangi bi icq bağlantısında bir icq numarası gönderiliyor.bu adamlar bu sayıların hepsinin bi binary karşılığınının ne kadar yer tutacağını biliyolar.bu yüzden iki bilgisayar arasında gönderilen paketler arasında icq numarasıda olacağından bu numaranın en fazla 32 bit olmasını istemiş olabilirler(sanırım).bu 32 bit'in 1 bit'i signed bit olarak gittiği için geriye kalan 31 bit'in sayı karşılığı kadar numarayı kullanıma açabiliriz demiş olabilirler.ilk 10000'i kendilerine alıp geri kalan 10000-2147483647 aralığını kullanıma açmış olmaları lazım ama bu aralık 2147483646'ya kadar. o zaman 2147483647'yi kim kullanıyo diyorum ben. ok?

amerikayı yeniden keşfetmişsin ;-/
yani olay sadece overflow

bikere adamların 2147483646 tane yer açması falan yok biliyosun, tek olay ramden ve dediğin gibi paket transferinden tasarruf [aslında tasarruf da deil ya, hadi neyse ;)],

yani bi gün 2147483646 tane uin kayıt olursa, 2147483647. uin kayıt olmaya çalışırken 32bit signed longun azizliğine uğrancak ve kayıtlanan uin "- [eksi] 2147483648" olarak kaydedilcek

tabiki bu sadece teori, adamlar bu rakama yaklaşırkenki versiyonlarda bunu düzelticekler, sadece eski versionlarda bu gözükebilcek

peki neden diceksin,
unsigned ve signedın farkında olay, unsignedlar sıfırın üstünde değerlerdir fakat signedlar sıfırın altında değerlerde alabilirler
şöle gösteriyim
ramde longun 32 bit olduğunu varsayalım
unsigned long olduğunda:
0 <= uL değer < 4294967296
arasında bir değer

signed long olduğunda:
-2147483648 <= signed long değer < 2147483647

["<=" küçük eşittir, < küçüktür demak] yani alınan değer maximum 2147483646 olabilir, +1 yapıldığında overflow olup başa döner ve -2147483648 olur

bilmem anlata bildimmi[hline] a.k.a
necroCannibal
ud49


[Bu mesaj sylvanthas tarafından 09 Aralık 2002 18:12 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

Hoca veri winsock la yollanırken integer olarak yollanmaz string biçiminde yollanır diğer bilgisayarda bunu aldıktan sonra gerekiyorsa integer yapar.Yani bunun veri yollamakla alakası yoktur.Ama tabi vardır bi bildikleri[hline]-Moonlight?
-She died! Witness the birth of Lixad
Link to comment
Sosyal ağlarda paylaş

said:
CEDAY, 09 Aralık 2002 19:34 tarihinde demiş ki:
sylvanthas hocam long intergerlar -2147483647 den +2147483647 a kadar. Ve bunlar da dahil. Yani 2147483647 register edilmeye çalışılırsa -2147483648 olmaz. 2147483648 register edilmeye çalışılırsa -2147483647 olur..

ben böyle biliyorum walla..


hocam o ulong falan olayinda adam dogru.
bu sigma 2 uzeri x (1 den a ya kadar) = 2 uzeri (a+1) - 1 den geliyo.[hline]Black Wind always follows
Where my black horse rides.
Fire's in my soul
Steel is on my side!

Link to comment
Sosyal ağlarda paylaş

wanderer, sylvanthas şöle bişi yazmıs:
-2147483648 <= signed long değer < 2147483647

unsigned long (2^32)-1
signed long (2^31)-1 dir. (Her ikisinde de bu son degerler dahildir)

yani yukardaki yanlış oluyor.
-2147483648 < signed long "integer" < 2147483648 olması gerekirdi ki, olay başa dönüyo..7 ile bitene noldu meselesine.
Link to comment
Sosyal ağlarda paylaş

abi belki yardımcı olur, bana epey olmustu, sonra kitaplardan falan da bakınca pekiştirmiştim :)

said:
Arlooax, 24 Kasım 2002 00:44 tarihinde demiş ki:

INTEGER lar icin:
DATA TYPE RANGE
short int -32,767 32,767
long int -2,147,483,647 2,147,483,647
unsigned short 0 65,535
unsigned long 0 4,294,967,295

Simdi integerlar icin baska bir olay daha var, continues behaviour gostermeleri, yani overflow vermezler, eger MAX degeri asiyosa diger uctan devam eder. Hmm bunu nasil aciklasaammm?? bir ornek code verelim.

short int k = 32300;
k+=100; ( k ne oldu ? 32400)
k+=100; ( k ne oldu ? 32500)
k+=100; ( k ne oldu ? 32600)
k+=100; ( k ne oldu ? 32700)
k+=100; ( k ne oldu ? -32736)
k+=100; ( k ne oldu ? -32636)

Bunun gibi yani, sureklilik gosterir OVERFLOW lar ki uygun TYPE kullanmiyosaniz basiniza is acar. Tabi bu degerler COMPILER to COMPILER ya da platform to platform uc assa bes yukari oynayabilir.

Arlooax The Mage


re-thx Arlooax :)

[Bu mesaj CEDAY tarafından 09 Aralık 2002 20:32 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

said:
Lixad, 09 Aralık 2002 19:41 tarihinde demiş ki:
Hoca veri winsock la yollanırken integer olarak yollanmaz string biçiminde yollanır diğer bilgisayarda bunu aldıktan sonra gerekiyorsa integer yapar.Yani bunun veri yollamakla alakası yoktur.Ama tabi vardır bi bildikleri
o olayi sen oyle yapiyosun lixad, normal programlar binary protocol kullaniyorlar :) ancak o kadar kasmaya gerek yoksa falan duz string kullaniliyor :)


asil olaya gelince;

$imdi; arkada$in olayi $u; siz 2147483647 sayisini ICQ'ya girdiginizde eklemek icin, icq size

The field ICQ# is out of range 10000-2147483646

diyor.

fakat signed integer 'in alabilecegi (32 bitlik) max pozitif deger 2147483647 iken niye 6 ile bitenle sinirlamislar diyor :)


olayin sebebini tam bilemiycem, fakat sign biti disindaki butun bitleri set bu sayinin, belki o yuzden reserved'dir, bir anlami vardir, ne bilim, server falandir[hline]wastiee
Link to comment
Sosyal ağlarda paylaş

herkes bişiler yazmış ama gene wastiee anladı beni saolsun.hemde iyi açıklamış.

was ayrıca bişii daha sorucam.o bitin signed bit yerine parity check olma ihtimali varmı??
yani tcp ip layerlarının herhangi birisinde error control olarak parity check kullanılıyomu?[hline]And Ra'd glorifies and praises Him,
and so do the angels because of His Awe.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...