[Çözüldü] Long ve Double Kullanımı

Başlatan ahmet_matematikci, 14 Mayıs 2016 - 14:44:50

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

ahmet_matematikci

Long  ve Double bilindiği üzere bellekte 8 bayt yer kaplamaktadır.
Double kullanmak varken neden bazı programlarda long kullanılır.
Nasıl olsa aynı bellek kullanılıyor neden büyük olanı seçmek varken küçük olan long seçilir?
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

natgho

http://www1.gantep.edu.tr/~bingul/c/index.php?ders=2
Şurayı incelerseniz 32 bitte longun 4 byte double'ın 8 byte olduğunu görürsünüz, bu seçim programın ihtiyacına göre seçilmekte.
Mesela ürün sayısı tutmak konusunda küçük ölçekli bir firmada milyonlara ihtiyaç yokken, büyük firmalarda büyük bir değişken türü seçilmelidir.
Günümüzde ise geliştiricinin insiyatifi ile alakalı bir konu bu diyebiliriz.
Hayır ben Windows Düşmanı Değilim,Bu Yüzden Linux Kullanmıyorum, Ben Sadece Benim Donanımımda At Koşturacaksa Bir Yazılım, her Adımını Bilme Sorumluluğunu Hisseden Bir Teknologtan Fazlası olmadığım İçin Linux Kullanıcısıyım.

ahmet_matematikci

#2
@natgo cevap için teşekkür ederim ama bu C için. :)
Benim konum java hakkında ...
Acaba diller arasında bellekte ayrılan boyut değişebilir mi? C de 32 bit de 4 byte Java da 8 byte olabilir mi?
Bir de bu bilgisayar mühendisliği 1. sınıf vize sorularından biri.
Nette antreman amaçlı bakındığımda gördüm.
Yoksa dediğiniz gibi  yazılımcının insiyatifi mi?
Ama yazılımcı insiyatifi diye yazsa idik hoca puan verirmiydi acaba  ;D ;D ;D ;D

Long un 2 üslü ifade edilmesi ile alakalı olabilir mi?

♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Amenofis

İşe tamsayı ile kayar noktalı sayı arasındaki farkı araştırarak başlayabilirsin. double büyük tamsayılar için kullanılmaz, ondalık hassasiyeti yüksek olan küçük sayılar üzerinde kullanılır ve sadece aritmetik işlemleri destekler. Genelde 0 ile 1 arasındaki sayılar ile kullanılır zaten.

long ise hem aritmetik hem lojik işlemleri destekler. Sayı değerlerini double gibi "yaklaşık" olarak değil tam (kesin) olarak tutar. Sınırları tam olarak bellidir.

erdemakin09

Alıntı yapılan: ahmet_matematikci - 14 Mayıs 2016 - 16:57:41
@natgo cevap için teşekkür ederim ama bu C için. :)
Benim konum java hakkında ...
Acaba diller arasında bellekte ayrılan boyut değişebilir mi? C de 32 bit de 4 byte Java da 8 byte olabilir mi?
Bir de bu bilgisayar mühendisliği 1. sınıf vize sorularından biri.
Nette antreman amaçlı bakındığımda gördüm.
Yoksa dediğiniz gibi  yazılımcının insiyatifi mi?
Ama yazılımcı insiyatifi diye yazsa idik hoca puan verirmiydi acaba  ;D ;D ;D ;D

Long un 2 üslü ifade edilmesi ile alakalı olabilir mi?



Benim fikrim olamaz. Şöyle ki yazdığım bir c++ programında int değerine long değeri atamaya çalıştığım için core dumped hatası alıyordum. Javada c++ gelme olduğu için şahsi fikrim yapılamaz olacağı yönünde. Kağıda aynen böyle yazardım. ( Tabi tamamen şahsi yorumum olduğundan 100 mü olur 0 mı olur bilmiyorum :D)

Yazılımcının insiyatifine bağlıdır tabi ki ama optimize bir program bu gibi küçük ayrıntılardan geçmekte. Long seçersen 32 bit işletim sisteminde belleği optimumda kullanan bir program olmuş olur. Buda iyi bir şeydir. Eğer aman bir şey olmaz şimdi ki bilgisayarlar 4 byte mi dert eder der değişkenlere dikkat etmezsen program büyüdükçe optimizasyon sorunları da kaçınılmaz olur.
Her Can Bir Gün Ölümü Tadacaktır!

ahmet_matematikci

Cevaplar için teşekkür ederim.
@Amenofis in cevabı mantıklı geldi.
Bildiğim ama bakınca görüp düşünemediğim bir şey.
long tamsayılar için    double kayan noktalı sayılar için geçerli.
Kolay gelsin.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)