Paylaşım Yap
Tüm Reklamları Kapat
Sorulara Dön
Ref Lü
Üye
4

Bir sayıyı sonsuza kadar 2'ye bölmeye devam eden bir program yazabilir miyiz?

Matematiksel olarak ya da bilgisayar dünyasında bir sayıyı sonsuza kadar 2ye bölmeye çalışırsak herhangi bir problemle karşılaşabilir miyiz? Sayının sıfıra ulaştığı bir nokta mümkün müdür, ya da sayı küçüldükçe bilgisayarın ramiyle ya da işlemcisiyle ilgili bir problem yaşama ihtimalimiz var mı?
654 görüntülenme
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Soruyu Takip Et
  • Raporla
  • Mantık Hatası Bildir
Tüm Reklamları Kapat
4 Cevap
Semihcan Çiçek
Yazılım Mühendisi

Özel bir teknik geliştirilmediği sürece mümkün değil yazılım üzerinde tanımladığımız veri tipleri sınırlıdır bölme döngüsünde bulunan sayı bir yerden sonra küsurat basamak sınırına ulaşacaktır ve aritmetik bir taşma yaşayarak saçmalayacaktır.

Veri tiplerinin sınırı nedir?

Tüm Reklamları Kapat

Yukarıda da değindiğim gibi özel bir teknik geliştirilmediği taktirde standart veri tipleri üzerinden bunu yapmak mümkün değil çünkü double, float gibi veri tipleri x64 bir sistem üzerinde hafızada 8 byte (karakter) uzunluğunda bir yerciğe sahiptir.

8 byte uzunluk demek referans verdiği verinin birbirinden farklı yalnızca 2568 adet değer alabileceği anlamına gelir.

Tüm Reklamları Kapat

Bu formül ile baktığımızda zaten sadece hafızaya dayalı özel bir teknik geliştirilse dahi RAM dediğimiz ufaklığın hafızasıyla sınırlıyız. Tabii ki bu soruya tam anlamıyla imkansız demek doğru olmaz fakat yüzeysel bakıldığında cevap imkansıza daha yakın görünüyor.

Veri tiplerinin hafıza ortamını anlamak için kaynağa bakabilirsin.

Kaynaklar

  1. Semih Çiçek. C++ Nasıl Çalışır? Hafıza Ortamı. (11 Ocak 2020). Alındığı Tarih: 14 Şubat 2023. Alındığı Yer: BPT | Arşiv Bağlantısı
Bu cevap, soru sahibi tarafından en iyi cevap seçilmiştir. Ancak bu, cevabın doğru olduğunu garanti etmez.
1
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Mehmet Emre Demir
Bu işi yapabilecek programlama dilleri hakkında bilgi sahibiyim

Bunu python ile yapabilirsiniz. Ama yaparsanız bir yerden sonra bilgisayarın gücü yeterli gelmez ve çökebilir. O yüzden pek mantıklı bir iş olmaz. İllaki bunu yapmak istiyorsanız yapabilecek olan python kodu:

Not: Bu işlem sonucunda bilgisayarınızda doğabilecek herhangi bir sorun benim sorumluluğumda değildir.(merak etmeyin ciddi birşey olmaz ama olursa diye bu uyarıyı koyuyorum)

Tüm Reklamları Kapat

sayi= vermek istediğiniz değer
while True:
print(sayi/2)

2
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Murat Avcim
Murat Avcim
57K UP
Bir maarif platformunun âmir-i hatâdarıyım

Bir sayıyı sonsuza kadar 2'ye bölmeye devam eden bir program yazmak mümkün ancak bu süreç sonsuzluk kavramının pratikte gerçekleştirilemeyeceğini göstermektedir.[1] Programlama dillerinde döngüler kullanarak bu işlemi tekrarlayabiliriz.[2] Ancak bilgisayarımızın kapasitesine göre bir süre sonra program duracaktır. C dilinde temel döngü örnekleri verilmiştir.[3]

Kaynaklar

  1. F. Bozkuş, et al. Ortaokul Öğrencilerinin Sonsuzluğu Kavrayışları. Alındığı Tarih: 5 Şubat 2023. Alındığı Yer: Dergi Park doi: 10.16949/turcomat.53890. | Arşiv Bağlantısı
  2. python-istihza. Döngüler (Loops) — Yazbel Python Belgeleri. Alındığı Tarih: 5 Şubat 2023. Alındığı Yer: yazbel | Arşiv Bağlantısı
  3. Şadi Evren ŞEKER. C Dilinde Döngü Örnekleri – Bilgisayar Kavramları. (11 Kasım 2009). Alındığı Tarih: 5 Şubat 2023. Alındığı Yer: Bilgisayar Kavramları | Arşiv Bağlantısı
1
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Esat Kudret
Esat Kudret
110K UP
Akıl yürütmeyi öğrenmeye çalışan bir öğretmenim.

Böyle bir program yazabiliriz fakat bilgisayarımıza yazık olur.

Bir sayıyı sürekli ikiye böl komutu içeren bir program pekala yazılabilir. Bölme işlemi de başlayabilir ancak bir süre sonra bilgisayarımız kapasitesine göre ya kitlenir ya donar ya da çöker.

Tüm Reklamları Kapat

Matematiksel olarak bir sayıyı sonsuza değin ikiye bölme imkanı teorik olarak var. Ancak sonsuz kelimesinin kendisi ne bir son ne de bir varışa işaret etmediği için, varacağımız her noktanın da ötesi olacağından pratikte bu imkansızdır.

Bir sayı ikiye bölünebiliyorsa sıfırdan farklı demektir. Sıfırdan farklı hiçbir sayı bölünerek sıfıra ulaşmaz ancak çok yaklaşır.

2
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Daha Fazla Cevap Göster
Cevap Ver
Evrim Ağacı Soru & Cevap Platformu, Türkiye'deki bilimseverler tarafından kolektif ve öz denetime dayalı bir şekilde sürdürülen, özgür bir ortamdır. Evrim Ağacı tarafından yayınlanan makalelerin aksine, bu platforma girilen soru ve cevapların içeriği veya gerçek/doğru olup olmadıkları Evrim Ağacı yönetimi tarafından denetlenmemektedir. Evrim Ağacı, bu platformda yayınlanan cevapları herhangi bir şekilde desteklememekte veya doğruluğunu garanti etmemektedir. Doğru olmadığını düşündüğünüz cevapları, size sunulan denetim araçlarıyla işaretleyebilir, daha doğru olan cevapları kaynaklarıyla girebilir ve oylama araçlarıyla platformun daha güvenilir bir ortama evrimleşmesine katkı sağlayabilirsiniz.
Sorulara Dön
Evrim Ağacı'na Destek Ol
Evrim Ağacı'nın %100 okur destekli bir bilim platformu olduğunu biliyor muydunuz? Evrim Ağacı'nın maddi destekçileri arasına katılarak Türkiye'de bilimin yayılmasına güç katmak için hemen buraya tıklayın.
Popüler Yazılar
30 gün
90 gün
1 yıl
EA Akademi
Evrim Ağacı Akademi (ya da kısaca EA Akademi), 2010 yılından beri ürettiğimiz makalelerden oluşan ve kendi kendinizi bilimin çeşitli dallarında eğitebileceğiniz bir çevirim içi eğitim girişimi! Evrim Ağacı Akademi'yi buraya tıklayarak görebilirsiniz. Daha fazla bilgi için buraya tıklayın.
Etkinlik & İlan
Bilim ile ilgili bir etkinlik mi düzenliyorsunuz? Yoksa bilim insanlarını veya bilimseverleri ilgilendiren bir iş, staj, çalıştay, makale çağrısı vb. bir duyurunuz mu var? Etkinlik & İlan Platformumuzda paylaşın, milyonlarca bilimsevere ulaşsın.
Youtube
Bir Beyin Cerrahının Gözünden BEYNİN İÇİ! | Mehmet Çağlar Berk (Anadolu Sağlık Merkezi Hastanesi)
Bir Beyin Cerrahının Gözünden BEYNİN İÇİ! | Mehmet Çağlar Berk (Anadolu Sağlık Merkezi Hastanesi)
Uzayda
Uzayda "Aşağı" Yön Ne Tarafta?
Hediye Almanın Gerçek Amacı Gerdek mi?!
Hediye Almanın Gerçek Amacı Gerdek mi?!
Ay'daki Bayrağı Teleskopla Görebilir miyiz?
Ay'daki Bayrağı Teleskopla Görebilir miyiz?
Arabada/Gemide Neden Mideniz Bulanıyor (Araç Tutuyor)?
Arabada/Gemide Neden Mideniz Bulanıyor (Araç Tutuyor)?
Podcast
Evrim Ağacı'nın birçok içeriğinin profesyonel ses sanatçıları tarafından seslendirildiğini biliyor muydunuz? Bunların hepsini Podcast Platformumuzda dinleyebilirsiniz. Ayrıca Spotify, iTunes, Google Podcast ve YouTube bağlantılarını da bir arada bulabilirsiniz.
ve seni takip ediyor
Evrim Ağacı Uygulamasını
İndir
Chromium Tabanlı Mobil Tarayıcılar (Chrome, Edge, Brave vb.)
İlk birkaç girişinizde zaten tarayıcınız size uygulamamızı indirmeyi önerecek. Önerideki tuşa tıklayarak uygulamamızı kurabilirsiniz. Bu öneriyi, yukarıdaki videoda görebilirsiniz. Eğer bu öneri artık gözükmüyorsa, Ayarlar/Seçenekler (⋮) ikonuna tıklayıp, Uygulamayı Yükle seçeneğini kullanabilirsiniz.
Chromium Tabanlı Masaüstü Tarayıcılar (Chrome, Edge, Brave vb.)
Yeni uygulamamızı kurmak için tarayıcı çubuğundaki kurulum tuşuna tıklayın. "Yükle" (Install) tuşuna basarak kurulumu tamamlayın. Dilerseniz, Evrim Ağacı İleri Web Uygulaması'nı görev çubuğunuza sabitleyin. Uygulama logosuna sağ tıklayıp, "Görev Çubuğuna Sabitle" seçeneğine tıklayabilirsiniz. Eğer bu seçenek gözükmüyorsa, tarayıcının Ayarlar/Seçenekler (⋮) ikonuna tıklayıp, Uygulamayı Yükle seçeneğini kullanabilirsiniz.
Safari Mobil Uygulama
Sırasıyla Paylaş -> Ana Ekrana Ekle -> Ekle tuşlarına basarak yeni mobil uygulamamızı kurabilirsiniz. Bu basamakları görmek için yukarıdaki videoyu izleyebilirsiniz.

Daha fazla bilgi almak için tıklayın

Göster

Şifrenizi mi unuttunuz? Lütfen e-posta adresinizi giriniz. E-posta adresinize şifrenizi sıfırlamak için bir bağlantı gönderilecektir.

Geri dön

Eğer aktivasyon kodunu almadıysanız lütfen e-posta adresinizi giriniz. Üyeliğinizi aktive etmek için e-posta adresinize bir bağlantı gönderilecektir.

Geri dön

Close