bugün
- anahtar partisi büyük birlik partisi ittifakı7
- yeni parti7
- laik teyzelerin fenotipi12
- ak partililerin apo sevdası6
- tayyip erdoğan'a oy vermeye karar vermek8
- ellerim bos gonlum hos12
- yavru kediye tekme atmak4
- velvet gel sana bir kahve ısmarlayayım7
- sözlüğün en güzel kız yazarı9
- tavuk şiş4
- arkadaşlar kararsız kaldım hangisini alayım15
- hukuk okuyan tiplerin biraz ezik olması9
- goralı3
- gürcistan5
- ne mutlu türküm diyene3
- kadınların şiirden anlamaması6
- iyi parti zafer partisi ittifakı2
- ermeni soykırımına inanmak2
- bir seri katilin tarzını taklit eden katil6
- akp mhp pkk koalisyonu2
- 1948 arap israil savaşı12
- islam barış dinidir11
- pazar pazar kafa açan ergen yazar sorunları2
- kimsenin kılığına kıyafetine karışmamak4
- palamut4
- ak çomarların beslenme kalitesi2
- kızılcahamam maden suyu2
- lahmacun2
- galericiler battı mutlu musunuz5
- oy kullanmamak2
- sözlük kızlarının boş teneke olması3
- temas bağımlılığı5
- yazarların favori oyun karakteri15
- sürekli peki neyse diyen kız5
- mason greenwood4
- hande erçel'in giydiği beyaz elbise3
- sabah ezanı okunurken köpeklerin havlaması6
- gocusuz sözlük2
- bel soğukluğu2
- sarapci koala3
- güneşli havada şemsiye kullanan insan2
- caddebostan6
- sözlük kızları gitsin rus kızları gelsin2
- 22 ağustos 2026 fenerbahçe konyaspor maçı19
- bodrum3
- sözlük kızlarının babaları6
- dünya da kimse işe gitmezse kapitalist sistem3
- flört kelimesinin son zamanlarda sık kullanılması3
- türkler kürtler ve araplar kardeştir2
- pazar sabahı kapının önüne bırakılan kesik kafa2
while(1) ve while(10) arasında bariz farklar bulunmaktadır.
örnek: while 1 sonsuz bir döngüyü temsil eder. zaten başlangıç değeri 1 olur. true'nun 1, 5, 10, 100, 10.5, -1, -2, -3, -4, -5, -10.5 gibi değerler aldığını söylemek gerekiyor.
o yüzden true, 0 olmayan her durum demek. bu da while'ı o durumda sonsuz döngü yapıyor.
nasıl yani 0 olmayan her durum der iseniz:
0 tanımsız olduğundan negatif olarak geliyor. yok edici, yutan, nan gibi. hatta sıfırın kesirli hali dahi false çıktısı verir.
0.0 ile 0 arasında da fark yoktur. while her 0 durumunu false olarak kabul eder ve işlem yapmaz.
x > 0 durumlarında ise olay değişiyor:
while(1) durumu için:
1 = 00000001
while(10) durumu için:
10 = 00001010
o zaman burada bariz fark ortaya çıkmakta. gördüğümüz gibi bitsel karşılıkları farklı. bunların assembly ortamında akış kontrolünü sağlayan jmp instruction'ı performansı eğer ki optimizasyon etmezseniz milisaniyelik gecikmelere sebebiyet verir.
1 = 00000001 -> kontrol et başa dön.
10 = 0000101[0] -> kontrol et başa dön.
10 = 000010[1]0 -> kontrol et başa dön.
10 = 00001[0]10 -> kontrol et başa dön.
10 = 0000[1]010 -> kontrol et başa dön.
bit bit kontrol var. yazmaç 32 bitlik ise bu kontrol tek seferde yapıldığından(lojik devrelerde tek saat çevriminde üretebilir) while 1 durumunda yapılan call ile while 10 durumunda yapılan call farklı olacaktır. sistem kaynağı tüketme konusunda biraz daha fazla kaynak tüketilecektir.
peki ne olursa olsun nasıl oluyor da true oluyor?
eğer ki bir break koymazsanız 10 daima true oluyor. bu durumda while 10'un adresi jmp instruction'ı oluyor. jmp instruction'ına kendi adresini tanımlarsanız sonsuz döngü oluşur.
diyelim ki while(10)
her defasında 1 artırılan değişken var.
if değişken 10 ise
break;
değişkeni ++
o durumda jmp end olduğundan bitiyor. o ana kadar sürekli jmp L20 git oralara işte. (l20 burada rastgele bir örnek)
böyle bir while anım oldu işte.
düzenlemek gerekiyor dediler ak kafası gibi davrananlar varmış. laf sokuyormuş. bu bilgiyi ihtiyacı olan görüp alır belki.
örnek: while 1 sonsuz bir döngüyü temsil eder. zaten başlangıç değeri 1 olur. true'nun 1, 5, 10, 100, 10.5, -1, -2, -3, -4, -5, -10.5 gibi değerler aldığını söylemek gerekiyor.
o yüzden true, 0 olmayan her durum demek. bu da while'ı o durumda sonsuz döngü yapıyor.
nasıl yani 0 olmayan her durum der iseniz:
0 tanımsız olduğundan negatif olarak geliyor. yok edici, yutan, nan gibi. hatta sıfırın kesirli hali dahi false çıktısı verir.
0.0 ile 0 arasında da fark yoktur. while her 0 durumunu false olarak kabul eder ve işlem yapmaz.
x > 0 durumlarında ise olay değişiyor:
while(1) durumu için:
1 = 00000001
while(10) durumu için:
10 = 00001010
o zaman burada bariz fark ortaya çıkmakta. gördüğümüz gibi bitsel karşılıkları farklı. bunların assembly ortamında akış kontrolünü sağlayan jmp instruction'ı performansı eğer ki optimizasyon etmezseniz milisaniyelik gecikmelere sebebiyet verir.
1 = 00000001 -> kontrol et başa dön.
10 = 0000101[0] -> kontrol et başa dön.
10 = 000010[1]0 -> kontrol et başa dön.
10 = 00001[0]10 -> kontrol et başa dön.
10 = 0000[1]010 -> kontrol et başa dön.
bit bit kontrol var. yazmaç 32 bitlik ise bu kontrol tek seferde yapıldığından(lojik devrelerde tek saat çevriminde üretebilir) while 1 durumunda yapılan call ile while 10 durumunda yapılan call farklı olacaktır. sistem kaynağı tüketme konusunda biraz daha fazla kaynak tüketilecektir.
peki ne olursa olsun nasıl oluyor da true oluyor?
eğer ki bir break koymazsanız 10 daima true oluyor. bu durumda while 10'un adresi jmp instruction'ı oluyor. jmp instruction'ına kendi adresini tanımlarsanız sonsuz döngü oluşur.
diyelim ki while(10)
her defasında 1 artırılan değişken var.
if değişken 10 ise
break;
değişkeni ++
o durumda jmp end olduğundan bitiyor. o ana kadar sürekli jmp L20 git oralara işte. (l20 burada rastgele bir örnek)
böyle bir while anım oldu işte.
düzenlemek gerekiyor dediler ak kafası gibi davrananlar varmış. laf sokuyormuş. bu bilgiyi ihtiyacı olan görüp alır belki.
Gündemdeki Haberler
Güncel Önemli Başlıklar