Selamlar;
Programda kök alma işlemi, nasıl anlatırız pc'ye bu işi
1)Üst alma işlemini şöyle yapıyoruz 5^2gibi yani,
[jstex]5^2[/jstex]
2)Çarpmayı 5*5 yani,
[jstex]5*5[/jstex]
kare kök almayı nasıl yaparız ?
Teşkkürler :)
Üst almayı biliyorsan karekök almayı da becerirsin.
Mesela X in karekökü, X^0.5 demektir.
Şöyle yapabilirsin. O sayıyı sıra ile 1den başlayarak böl. bölüm ile bölen birbirine eşit olduğunda o onun köküdür.
25/1 = 25 25-1=24 bu değil
25/2=12.5-2=10.5
.
.
25/5=5 5-5=0 iştebu kökü.
sayıyı 0.0001 artırarak daha net sonuç bulursun. bir önceki fark ile bir sonrakini karşılaştırarak 0 a en yakın olan için tahmini bir sonuçta bulabilirsin.
https://www.picproje.org/index.php/topic,6255.msg39301.html#msg39301
burada bahsettiğim şekilde olabilirmi?
Alıntı YapÜst almayı biliyorsan karekök almayı da becerirsin.
Mesela X in karekökü, X^0.5 demektir.
Üst almayı biliyodum hocam takdir edersinizki kök almayı bilmiyodum ve öğrenmek için sizlere sordum ne yazık ki ingilizcem
http://en.wikipedia.org/wiki/Fast_inverse_square_root (http://en.wikipedia.org/wiki/Fast_inverse_square_root) bunu anliyacak kadar iyi olmadıgı için cevap alamadım.
Neyse soruyu biraz değiştirerek tekar sorucam,
Şöyle bir işlem olsun dielim.. (5*2)+(3+4)/(8^2*2) yani;
[jstex](5*2)+(3+4) / (8^2*2)[/jstex]
Bu ifadeyi kök içerisine nasıl alırız? benim öğrenmek istediğim bu.
Teşekkürler.
arkadaşlar liseye giden bir kardeşim var benim bulduğum yöntemi oda bulabilecekmi diye ona sordum. Ve iq mu bitirdi. Öyle bir yöntem buldu ki 10 dakikadır şoktayım :D
Şimdi şöyle oluyor. Öncelikle sayının tam bölenlerini buluyoruz.
örneğin
81= 1 3 9 27 81 ortadaki sayı karekökü 9
64= 1 2 4 8 16 32 64 yani karekökü 8
sanırım çalışıyor. tam bölenlerini mod yardımı ile mikoişlemciye buldurabiliriz. Örneğin c için % işareti bu işi görür.
Alıntı yapılan: since1990 - 04 Ekim 2011, 22:23:49
arkadaşlar liseye giden bir kardeşim var benim bulduğum yöntemi oda bulabilecekmi diye ona sordum. Ve iq mu bitirdi. Öyle bir yöntem buldu ki 10 dakikadır şoktayım :D
Şimdi şöyle oluyor. Öncelikle sayının tam bölenlerini buluyoruz.
örneğin
81= 1 3 9 27 81 ortadaki sayı karekökü 9
64= 1 2 4 8 16 32 64 yani karekökü 8
sanırım çalışıyor. tam bölenlerini mod yardımı ile mikoişlemciye buldurabiliriz. Örneğin c için % işareti bu işi görür.
Bunda sasiracak bir sey yokki.
Carpanlardan birini saga birini de sola yaziyorsun. En ortadaki zaten iki carpanin da es oldugu ve ust uste yazildigi deger oluyor bu da aranan karekok.
Fakat bolme islemi, 4 elamenter islem icinde, islemciyi en fazla yoran islemdir. Neden acaba?
Yanlış anlaşıldım, matematiğe şaşırmadım, kardeşime şaşırdım. :D Mikroişlemci zaten sadece toplama ve çıkartma yapabilir temelde.,
Mikroişlemciyi yormasının sebebi bence sayıdan böleni çıkartıyor 0 olmuşmu diye bakıyor sayacı arttırıyor bir daha çıkartıyor .... falan prosedürü çok çünkü. :) Ama çarpma sadece çarpan kadar topluyor.
Alıntı yapılan: since1990 - 04 Ekim 2011, 22:36:19
Yanlış anlaşıldım, matematiğe şaşırmadım, kardeşime şaşırdım. :D Mikroişlemci zaten sadece toplama ve çıkartma yapabilir temelde.,
Mikroişlemciyi yormasının sebebi bence sayıdan böleni çıkartıyor 0 olmuşmu diye bakıyor sayacı arttırıyor bir daha çıkartıyor .... falan prosedürü çok çünkü. :) Ama çarpma sadece çarpan kadar topluyor.
Okul oncesi bebeler sekeri soyle dagitir.
Bir bana bir sana bir ona
Bir bana bir sana bir ona
Bir bana bir sana bir ona......
Bu da bolme yontemi fakat bolme boyle yapilmaz.
doğru ama mikro işlemciler bölme işlemini farklı bir algoritma ile mi yapıyor? Geçen sene mikroişlemciler dersinde bu algoritmayı öğrenmiştik.
http://www.google.com.tr/search?sourceid=navclient&hl=tr&ie=UTF-8&rlz=1T4GGHP_trIE417IE417&q=binary+division+algorithm
Alıntı yapılan: bunalmis - 04 Ekim 2011, 23:02:18
Okul oncesi bebeler sekeri soyle dagitir.
Bir bana bir sana bir ona
Bir bana bir sana bir ona
Bir bana bir sana bir ona......
Bu da bolme yontemi fakat bolme boyle yapilmaz.
çok güldüm ya, Allah da sizi güldürsün inş:)
bence desman karekök ün algoritmasından ziyade karekök fonksiyonunun ne olduğunu sormuş,
bu soruya da cevap olarak
sqrt() ya da pow() olabilir diyorum ben,
tabi ki derleyicinin manuel ine bakmak en doğrusu
Bolme algoritmasina guzel bir ornek
http://courses.cs.vt.edu/~cs1104/Division/ShiftSubtract/Shift.Subtract.html
karekok alma konusunda daha önce bir yerleren topladığım şeyler var
http://www.dosya.tc/server4/AlMtbd/karekok.rar.html
Türevle yaklaşık hesap yapılabiliyor.
Edit: f(x)=sqrt(x)
f (a + h) ≈ f '(a)*h + f (a) yaklaşık değer hesabı.
Örneğin ; f(x) = sqrt(200)
200 = 196 + 4 (a=196 h= 4)
f'(a)= 1/(2*sqrt(196)) = 1/28
sqrt(200) = sqrt(196) + f'(196)*4 =14+4/28 = 14,142857...
Alıntı yapılan: since1990 - 04 Ekim 2011, 22:23:49
Şimdi şöyle oluyor. Öncelikle sayının tam bölenlerini buluyoruz.
örneğin
81= 1 3 9 27 81 ortadaki sayı karekökü 9
64= 1 2 4 8 16 32 64 yani karekökü 8
82 nin karekökünü bulalım dersek ne yapacağız?
Örnekler için teşekürler çok yardımcı oldunuz :)
Alıntı yapılan: bigbey - 05 Ekim 2011, 15:04:47
82 nin karekökünü bulalım dersek ne yapacağız?
1 2 41 82 -->2 ile 41 arasında olduğuna emin olabilirsin :)
Arkadaşlar bu koşulu, yani karekök alma işlemini binary logic mantığı ile çalışan bir sistemde ideal olarak nasıl yapılacağını merak ediyorum. Bu fonksiyonu ASM ile nasıl yaparız veya parmak sayma usulü ile nasıl yapabiliriz. Floating point 3 digit yeter.
Güncelleme. :o