[]
İki farklı işlem işlemci için aynı yükte midir?
Çok temel bir soru sanırım ama nasıl olduğunu merak ediyorum.
Çok basit bir aritmetik işlemi(a) ile daha büyük sayıların(b) kullanıldığı bir aritmetik işlemi bilgisayar için aynı zorlukta mıdır ve benzer miktarda kaynak tüketir? eğer evetse, neden?
a: 5*5;
b:999999999999999999999999999999999999999e160*999999999999999999999999999999999999999e50
Çok basit bir aritmetik işlemi(a) ile daha büyük sayıların(b) kullanıldığı bir aritmetik işlemi bilgisayar için aynı zorlukta mıdır ve benzer miktarda kaynak tüketir? eğer evetse, neden?
a: 5*5;
b:999999999999999999999999999999999999999e160*999999999999999999999999999999999999999e50
genelde evet ama orneginizde muhtemelen hayir.
orneginizdeki sayi cok buyuk, yani overflow olacak. gercekten bu sayiyi hesaplamak isterseniz farkli bir datatype (integer, float degil de mesela java'dan BigDecimal) ihtiyaciniz olacak. bunlarda illa ki sure cok uzun olacak.
float demisken, floating pointler ayri bir mesele. ornegin 0,001 hicbir zaman 0,001 degildir. muhtemelen ona yakin 0,0010929383039 gibi (salladim) bir sayidir. bazi cpu'larda FPU denen bir unit var bununla ilgilenen.
neden genelde evet dedigime gelirsek, cok basit olarak soyle anlatayim. cpu'nun natively destekledigi primitive typelarinda, mesela 64-bit sayilari toplayacaksiniz. sayiniz 00..001 de olsa 0111..111 de olsa butun bitlerin uzerinden tek tek ilerlenecek ve asagi yukari ayni surede hesaplanacak.
mezun olali 5 sene oldu, hatirladigim kadariyla boyle. daha cok okumak isterseniz keywordleriniz, cpu, alu, fpu, cpu registers vs vs
orneginizdeki sayi cok buyuk, yani overflow olacak. gercekten bu sayiyi hesaplamak isterseniz farkli bir datatype (integer, float degil de mesela java'dan BigDecimal) ihtiyaciniz olacak. bunlarda illa ki sure cok uzun olacak.
float demisken, floating pointler ayri bir mesele. ornegin 0,001 hicbir zaman 0,001 degildir. muhtemelen ona yakin 0,0010929383039 gibi (salladim) bir sayidir. bazi cpu'larda FPU denen bir unit var bununla ilgilenen.
neden genelde evet dedigime gelirsek, cok basit olarak soyle anlatayim. cpu'nun natively destekledigi primitive typelarinda, mesela 64-bit sayilari toplayacaksiniz. sayiniz 00..001 de olsa 0111..111 de olsa butun bitlerin uzerinden tek tek ilerlenecek ve asagi yukari ayni surede hesaplanacak.
mezun olali 5 sene oldu, hatirladigim kadariyla boyle. daha cok okumak isterseniz keywordleriniz, cpu, alu, fpu, cpu registers vs vs
- tannen (27.03.20 12:38:18)
Bu konu bilgisayar mühendisliğinin sayısal analiz dersinin içeriği.
Bu tarz işlemlerde işlem sayısı önemli. Bir kere yapıyorsan bu işlemler arasında çok büyük uçurumlar olmaz. Bu işlemin data yazıp okumasına neden olan bir kısım oluşursa o zaman değişir.
Çok küçük değişiklikler de önemliyse eğer datanın kaç bit ile tutulduğu kısmından itibaren kaynakların kullanımı değişir.
Bu tarz işlemlerde işlem sayısı önemli. Bir kere yapıyorsan bu işlemler arasında çok büyük uçurumlar olmaz. Bu işlemin data yazıp okumasına neden olan bir kısım oluşursa o zaman değişir.
Çok küçük değişiklikler de önemliyse eğer datanın kaç bit ile tutulduğu kısmından itibaren kaynakların kullanımı değişir.
- tessera (27.03.20 14:02:48)
1