Forum: D Programlama Dili RSS
true , false ve sayıların bağlantısı
Sayfa:  1  2  sonraki 
cos00kun #1
Üye Kas 2014 tarihinden beri · 104 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: true , false ve sayıların bağlantısı
Döngü işlemlerinde yaptığım denemelerde 0 false, Diğer sayılar true olarak işlem görüyor !! eğer bir mantık hatası yapmıyorsamki denemelerim hep doğru olduğumu gösteriyor bu konunun pdf kitabında yer alması gerekliliğine şiddetle inanıyorum :)  (Kitabın pdf sürümüne şöyle bi baktığımda eğer uykusuzluk beni gerçekten vurmadıysa 0 ve diğer sayılarınn true ve false ilişkisine rastlayamadım )

Şu acemi halimle bir örnek vereyim

while(0) {
   ......
   ......
   .....
}

yukarıdaki kodda 0 false olacağından while işletilmezken


while(5) {
   ......
   ......
   .....
}
kodu her daim 5 değeri true değeri vereceğinden while döngüsü çalışıyor... hatta negatif sayılarda çalışıyor.. hatta ve hatta kesirli sayılarda bile true oluyor.. dahada yetmedi harfleri denedim onlarda aynı şekilde davrandı!! nedir bu sıfır rakamının günahı arkadaş kendisi negatif bile değilken false yapılmış zulmedilmiş kendisine :)

Birçoğu için bilinen birşeydir yada belkide çok basit bir konudur ama benim ilgimi çekti açıkçası umarım saçma sapan bir yanlışa imza atmıyorumdur.


herkese sevgi ve saygılarımı yolluyorum..
E=mc^2
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bu konu şurada "Koşul deyimlerinde otomatik bool dönüşümleri" başlığı altında geçiyor:

  http://ddili.org/ders/d/tur_donusumleri.html

Teşekkürler. Dizine "bool, otomatik dönüşüm" maddesini ekleyeceğim.

Ali
cos00kun #3
Üye Kas 2014 tarihinden beri · 104 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ali bey şimdi gördüm açıkçası tür değişimleri bölümünden ona rastlayabileceğim aklımdan geçmemişti..  Birde hocam mümkünmüdür bilmiyorum ama şu pdf kitabındaki karakterlerinin puntosunu bir büyük yapsak çok mutlu olacağım  Yaş geçtikçe sanırım gözlerde astigmat artıyor.. eğer punto büyümesse haftaya istemesemde gözlükle dolaşacağım :)
E=mc^2
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
cos00kun:
pdf kitabındaki karakterlerinin puntosunu bir büyük yapsak

İlginç çünkü ben de fazla mı büyük diye endişeleniyordum. :) Aslında, yanılmıyorsam benzer başka kitaplarla aynı büyüklükte: 10pt. Baskıya giden PDF'i artık değiştiremem çünkü sayfa sayısı değişince kapak düzeni de etkileniyor ama ekran için olan renkli PDF'in fontunu büyütebilirim.

Ali
agora #5
Üye Tem 2013 tarihinden beri · 221 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #1
0 aslında sinyalin olmadığı durum olarak kabul ediliyordu da orada 0.8 sanırım bir eşik vardı. O değere kadar 1 gibi  davrandığı durumlar olabilirdi. Yanlış hatırlıyor olabilirim.

Zaten 0 false olmak zorunda diye biliyorum. Aslında olay orada biraz halka olayına kaçıyor. Cebir bilgisi lazım olabilir.

Şöyle de bir hesap yaparsak:

0 = 00000000
1 = 00000001
2 = 00000010
3 = 00000011
4 = 00000100

5 = 00000101

0 ise değersiz tek 1 kere üretiyor.

5 olduğunda işlemci her bit için sanırım tekrar tekrar kontrol ediyor olmalı. Belki o yüzden 1 daha hızlı olabilir.

Asıl soruna gelecek olur isek 0 olmayan her sayı true oluyor sanırım.

Burada tam sayılar, kesirli sayılar, hatta negatif tam sayılar bile.

Çok pis kafam karıştı ciddiyim.
acehreli (Moderatör) #6
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
agora:
işlemci her bit için sanırım tekrar tekrar kontrol ediyor olmalı

Değil. Bütün değer tek seferde karşılaştırılır.

0 olmayan her sayı true oluyor sanırım

Doğru. :)

Ali
agora #7
Üye Tem 2013 tarihinden beri · 221 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bunu nasıl yapıyor hocam?

Bir sürü bit var ama tek seferde karşılaştırıyor? Tek tek gidiyor sanıyordum.
cos00kun #8
Üye Kas 2014 tarihinden beri · 104 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #5
yok hiç kafan karışmasın yazdığın en son satırlar çok doğru çünkü 0 olmayan herşey true döndürüyor 0 rakamı bildiğin kısmetsiz bedevi :) zaten olaya bitsel açıdan bakmasanda dilin kendisi bi şekilde bi değeri false olarak tanımalı ya program yapacak bunu yada var olan 0 rakamsal konumundan dolayı kendisi.. diye düşünüyorum..

Ali hocam basıma giden kitap önemli değil ekran için olanı büyük olsada yeter bana :) Bu arada basım başladımıki ? Türkçesi herhalde .? yine neler kaçırdm ben
E=mc^2
acehreli (Moderatör) #9
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #7
Yazmaç 32 bitlikse hepsi birden işleme alınıyor. İçerdeki lojik devreler de tek clock cycle'da sonuç üretebiliyor.

Ali
agora #10
Üye Tem 2013 tarihinden beri · 221 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Anladım hocam. Bir de konu ile alakalı yine.

while(5)
{

}

durumunda eğer bir break gelmezse jmp sürekli kendi offsetine mi atlayacak?
acehreli (Moderatör) #11
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bakalım:
void main() {
    while (5) {
    }
}
Yalnızca derliyoruz:

dmd dmd -c deneme.d

Oluşan deneme.o dosyasını dmd ile gelen ve derlenmiş koddan assembly kodu üreten obj2asm'den geçiriyoruz:

obj2asm deneme.o > deneme.s

deneme.s dosyasını açıp _Dmain'i buluyoruz:

...
_Dmain:
        push    RBP
        mov    RBP,RSP
L4:        jmp short    L4    // <-- EVET, kendi adresine atlıyor :)
        nop
...


Ali
acehreli (Moderatör) #12
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #3
cos00kun:
puntosunu bir büyük yapsak

Daha önce sormalıydım ama ekrandan okuduğunu varsayarak, PDF programının büyütme (zoom) olanağı yok mu? Varsa bütün sayfa ekrana sığmıyor diye mi kullanmak istemiyorsun?

Ali
cos00kun #13
Üye Kas 2014 tarihinden beri · 104 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
cos00kun:
puntosunu bir büyük yapsak

Daha önce sormalıydım ama ekrandan okuduğunu varsayarak, PDF programının büyütme (zoom) olanağı yok mu? Varsa bütün sayfa ekrana sığmıyor diye mi kullanmak istemiyorsun?

Ali

yok hıcam elbette zoomlayabiliyorum ancak ben zaman zaman pdf den ilgili bölümlerin fotokopisini alıp evde boş vakit bulduğumda (ki genelde görüldüğü üzere çok geç yada çok erken oluyor okumaya çalışıyorum). okuyorum. Yoksa çokta problem değil.. Bu arada yukarıdaki asm codelerine ulaşmak çok akıllıcaydı bende biraz kurcalayacağım çok sağolun değerli bilgiler için
E=mc^2
agora #14
Üye Tem 2013 tarihinden beri · 221 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #11
Teşekkür ederim hocam. Şimdi konudan uzaklaşmamak için diğer meraklarımı ayrıntılı kaynak bulunca sorayım. İçeriği belli ama. İşletim sisteminin sürekli break almadan çalışabilmesi vs. :)
cos00kun #15
Üye Kas 2014 tarihinden beri · 104 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
bende konudan uzaklaşmak istemiyorum ancak bu obj2asm programının windows ortamında çalışan muadilini yada kendisini nerden bulacağız ?  asm codelerini üretip nasıl işlem yapacağız ? olmadı artık exe dosya oluşturduktan sonra debugger kullanırım..
E=mc^2
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  1  2  sonraki 
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-19, 05:54:57 (UTC -08:00)