Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
lucifer

Kayıt: Nov 02, 2002 Mesajlar: 215 Nereden: Istanbool
|
Tarih: Mon Jul 18, 2005 3:42 pm Mesaj konusu: |
|
|
Babaconda,
-Su akilli asm koduna bir ornek verebilir misin?
-Sonucu normal matematikle bile izah edilemeyen bazı kavramlar nelerdir? Telepati, ruh cagirma gibi seyler mi bunlar |
|
Başa dön |
|
 |
KePhReNZ

Kayıt: Jan 02, 2003 Mesajlar: 55 Nereden: İzmir
|
Tarih: Mon Jul 18, 2005 4:24 pm Mesaj konusu: |
|
|
Merhaba,
Matrixte Neo bile küsürat hatasıydı. Bilgisayarlar küsüratlı işlemleri yapmada 0,1 kümsesini (sonlu bir kümeyi) kullandıkları sürece bu tür hatalar gerçekleşecektir. En gelişmişinde bile bu iş böyle. Yanlız presicion denen hassasiyet değeri arttıkça bu sapmalar daha küçük miktarlarda gerçekleşecektir. Zaten bilgisayar deiğimiz alet sonsuz bir dünyayı elindeki sonlu 0,1 kümesiyle ifade etmeye çalışır. Bu şuna benzer elinde bir bit var , bir renk var gri , gri 1 midir 0 mıdır, bunu söylemek için daha çok bit gerekmektedir. İşde böyle sayın seyirciler float 32 bit double 64, işde hassasiyet işde yenilik ...
Saygılarımla,
Ahmet Bilgili |
|
Başa dön |
|
 |
BabaCONDA

Kayıt: Jun 12, 2005 Mesajlar: 58 Nereden: İstanbul
|
|
Başa dön |
|
 |
asyncore

Kayıt: Jan 13, 2004 Mesajlar: 110 Nereden: Gevrek, darı ve çiğdem yenen yerden
|
Tarih: Mon Jul 18, 2005 10:21 pm Mesaj konusu: |
|
|
BabaCONDA demiş ki: |
lucifer aşağıdaki linkleri incele:
|
Dostum boşuna kürek çekiyorsun, o mesajı atan bir bot. Yani sadece foruma renk katmak için siteye eklenmiş bir çeşni. Şahsen onun attığı mesajdan sonra o başlık altında başka cevap yazdığını görmedim. Muhtemelen senin verdiğin linklere girmeyecek ve cevap da vermeyecek. Boşuna ona birşey kanıtlamaya çalışma.
Bana gelince, ben ikna olmadım. Neden dersen o maddede hassasiyetle ilgili bir özellik belirtilmemiş, sadece "Allows manipulation of the stack for efficient execution". Sadece buna dayanarak tezini doğrulamaya çalışırsan desteksiz bir iddia ortaya atmış olursun. Sitemizin botunun ürettiği mesajdaki gibi ASM kodu görürsek daha iyi olur.
Diğer belgelerde de senin iddianı destekleyecek bilgiler yok. |
|
Başa dön |
|
 |
devreci

Kayıt: Mar 04, 2005 Mesajlar: 256
|
Tarih: Mon Jul 18, 2005 11:39 pm Mesaj konusu: |
|
|
asmde bişeyler yapıyım dedimde daha ilk aşağıdakini yazdığım an 20.20001 sonucu verdi yani sorun atof de değil.
#include <stdio.h>
main(void)
{
float a=20.200000f;
printf("%f",a);
return 0;
}
daha önce söylemiştim float sayıları özel bir sistemle sıkıştırılıyor.
logaritmik düzende bu sıkırtırmada yapılırken sonuçta 0 1 diye bitler kullanılıyor yani sonuç bizim değerden ilgisiz sıkıştırlımış bir tamsayı olarak hafızada saklanıyor. bu sıkıştırma sisteminin yapılabilmesi için FPU sayıyı an az yapabildiği biçimde esnetiyor yoksa 4byte ye sığmaz demi. |
|
Başa dön |
|
 |
LorenSoth

Kayıt: Oct 12, 2004 Mesajlar: 99
|
Tarih: Tue Jul 19, 2005 1:02 am Mesaj konusu: |
|
|
Ahanda gaza geldim bilgisayarin nasıl 32 bite e o kadar sayı yazdıgını yazayım dedim formatı hani :=)... ilk biti sign bit sonraki 8 bit i exp sonraki 23 bit ise mantissa zaten. Toplam 32 bit işte, mesela 252.390625 sayisi (örnegi google dan buldum hesaplamiim iki saat ) bunu binary(1 ve 0 lara) e ceviricen, işte virgülün solundakini 2 e bolerek kalanları soldan saga dizicen, virüglün sag tarafındakileri ise 2 ile carpa carpa gidicen 1 olana kadar gene kalanları soldan saga dizicen bildigimiz float tan binary e cevirme oluyor yani ve sonuc 11111100.011001 cikiyor, şimdi bunu 32 bite koymak icinde bunu scientific yazıoz önce -> 1,1111100011001 * 2 ^(üzeri) 7 dioz. (umarim virgüllerde karıstırmadım ) sonra bu üzeri olan 7 sayısına 127 ilave edioz oluyo 134 bunuda binary e cevirip exp kısmına yazıoruz 10000110, ahanda 9 biti halletmiş olduk sign ve exp bitleri bitti, geriye 23 bitlik mantissa kaldı, geriye kalan 23 bit icin ise virgülün sagındaki bitleride oraya atıoruz bos kalanlarda 0 oloyor.
Sonucta 252.390625 float sayısı 32 bit olarak şöyle konuluyor (ayrık ayrık yazıom) :
Kod: |
// sign bit Exponent Mantissa
0 10000110 11111000110010000000000
Toplam 32 bit işte
|
Amanın yardırdım abi dayanamadım paylaşasım geldi az bucuk bilgimi.
İkinciside işte bence bu durumda aksaklıktı zarttı zurttu round off error du olabiliyor yani sınırsız bi şeyi sınırlı bir yere ne kadar sıkıstırırsın ahanda bu kadar , eger cok onemliyse hassasiyet compiler in floating point precision i arttırabiliriz sanırsam. Kolay gelsin herkese !  |
|
Başa dön |
|
 |
leblebi

Kayıt: Jan 05, 2004 Mesajlar: 127 Nereden: q3dm17
|
Tarih: Tue Jul 19, 2005 3:14 am Mesaj konusu: ... |
|
|
<float.h> dosyasina bakiniz;
FLT_EPSILON 1.192092896e-07F
Yani 10E-7 den sonraki rakamlar float type'i icin anlamsiz. Sen istedigin kadar anlam vermeye calis. Eger fen bilimleri dersini hatirliyosaniz burada anlamli rakamlardan bahsediyoruz.
Bu ne demek oluyo?
[code]
x = 2.000000000; // diyebilirsin ama YEDINCI sifirdan sonrasi anlamsiz
y = 200000.0000; // diyebilirsin ama IKINCI sifirdan sonrasi anlamsiz
[/code]
isin dogrusu 7. hanenin anlami konusunda emin degiliz cunku kusurat var. Ama emin olabiliriz ki ornegin 5. hane hep anlamli olacaktir. Yani
[code]
printf ( "%.5f", x );
[/code]
yazdigin takdirde yukledigin seyi(round edilmis halini dogru olarak) goreceksin(Acaba "%.6f" icin de dogru mu? onu da siz dusunun )
Dikkat ederseniz gonderdiginiz orneklerin hepsinde 7. anlam-siz sayinin ayni olmamasindan yakiniyosunuz.
============
babaconda'nin bahsettigi sey aslinda baska bi problem, ve yanlis biseyi savunmaya calisiyo. Iki float'un ister ne kullanirsan kullan esit olmasini garanti edemezsin. Ornegin (A+B)+C == A+(B+C) gibi basit bi islem siralamasi degisikligi bile sonucu yamultabilir. Bu sebeple fuzzy compare kullaniriz:
[code]
bool are_equal ( float x, float y )
{
return fabsf ( x - y < 1e-5 );
}
[/code] |
|
Başa dön |
|
 |
leblebi

Kayıt: Jan 05, 2004 Mesajlar: 127 Nereden: q3dm17
|
Tarih: Tue Jul 19, 2005 3:19 am Mesaj konusu: ... |
|
|
Kod: |
x = 2.000000000; // diyebilirsin ama YEDINCI sifirdan sonrasi anlamsiz
y = 200000.0000; // diyebilirsin ama IKINCI sifirdan sonrasi anlamsiz
|
noktadan sonraki sifirdan bahsediyoruz tabii ki |
|
Başa dön |
|
 |
devreci

Kayıt: Mar 04, 2005 Mesajlar: 256
|
|
Başa dön |
|
 |
BabaCONDA

Kayıt: Jun 12, 2005 Mesajlar: 58 Nereden: İstanbul
|
Tarih: Tue Jul 19, 2005 9:12 pm Mesaj konusu: |
|
|
peki biraz bekleyinde ben sizin tezlerinizi çürütüp ramsesin mumyasına çevirecek bir kod örneği gönderyim.
Mustafa abiiiiiiiiiiiii..........  |
|
Başa dön |
|
 |
KePhReNZ

Kayıt: Jan 02, 2003 Mesajlar: 55 Nereden: İzmir
|
Tarih: Tue Jul 19, 2005 10:40 pm Mesaj konusu: |
|
|
Merhaba,
Haha böyle demeye devam edersen güzel abim , bilgisayarın mucitlerini sıcak mezarlarından kaldırırsın , o zaman görürürz anyayi mumyayı
Vermiş olduğun web sayflarını inceledim bizi haksız çıkaran tek satıra rastlamadım ...
Mevzu şu sınırlı kümeyle sınırsızlığı temsil ediyorsun bunun için mipmapping, antialiasing vs war.
Eğer küsüratlı sayılarla iş yapıyorsan minimum bir hata payını kontrol etmelisin, bu böyledir , böyle olmuştur, böyle olacaktır ...
Saygılarımla
Ahmet Bilgili |
|
Başa dön |
|
 |
|