JavaScript Math() metodları aynı çıktıyı verir mi?

hem ceil hem +1 kullanıldığı durumda random 0.001 de gelse 1e tamamlamıyor mu, leprosynin dediği gibi min çıktı 1+1 yani 2 olmaz mı?
Ceil (tavan) kullandigimizda 1 eklemedik ki floor (taban) kullandigimizda 1 ekliyoruz. Cunku 0'a yuvarliyor +1'den minimum 1 oluyor.

Son yazdigini duzgun okumamisim konu sahibinin. Floor fonksiyonunda 1 eklemesi, Ceil'de ekleme yapmamasi gerekiyor.
 
Aynı olmuyor olması lazım, bir yanlışım varsa düzeltirseniz sevinirim.

Math.ceil() fonksiyonu bir ondalıklı sayıyı yukarıya yuvarlar.
Math.random() ise 0 ile 1 arasında bir ondalıklı sayı üretir.

Math.random() ile elde edilen bir sayı Math.ceil() içerisinde kullanılırsa otomatikmen 1 olmuş oluyor. Örneğin math.random 0.66 değerini üretti math.ceil() bunu 1'e yuvarlıyor. Yani math.random() fonksiyonu hangi sayıyı üretirse üretsin sonuçta sayımız 1 olacak.

console.log(Math.ceil(Math.random()));

komutu ile bunu deneyebilirsiniz çıktı her zaman 1 olmalı.

Bir de en son +1 eklenmiş bu sefer elde edebileceğimiz en küçük sayımız 2 oldu. Yani 2 ile 10 arasında bir sayı (sayılar dahil) elde etmiş oluyoruz ancak diğer satırdaki kodda böyle bir durum yok. Math.floor() fonksiyonu sayıyı aşağıya yuvarlıyor normalde +1 olmasaydı math.random fonksiyonu 0.5 sayısını üretseydi otomatikmen 0 değerini elde edecektik ve 0 ile 10 arasında sayı üretecekti ancak +1 oldugu için 1 ile 10 arasında sayı üretmiş oluyor.
Bu konu kafama çok takıldı saatlerce deneme yaptım araştırma yaptım teoride 1 ile 10 arasında ama pratikte 2 ile 10 arasında gibi duruyor Math.random 0.0 üretmediği taktirde 2 ile 10 arasında oluyor fakat %0.000000000000011 gibi çok düşük bir ihtimal ile 0.0 üretebilir bu da pratikte çok zor 0.0 dışındaki sayıları üretme ihtimali yaklaşık olarak %11 yapıyor
 

Technopat Haberler

Yeni konular

Geri
Yukarı