Gönderen Konu: C64 vs C128  (Okunma sayısı 12796 defa)

C64 vs C128

« : 23.11.2004 03:42:44 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Floating point hesabındaki farklardan dolayı Commodore 64’de INT(.1+.9) işlemi 0 değeri alırken Commodore 128’de 1 değeri alıyormuş. Dolayısıyla;

C=64+64*INT(.1+.9)

Dediğimizde C64’de C’nin değeri 64, C128’de C’nin değeri 128 oluyor. İşe bak :)

C64 vs C128

« Yanıtla #1 : 23.11.2004 18:03:49 »
Hızlı düğmeleri aç

eirik

İleti: 312

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
    • http://localhost/
$imdi bir de matematikte tam deger fonksiyonu var, icindeki sayInIn ondaLIkLarInI atIp sayInIn tam kIsmInI cIkaran, ( [|4.5|] = 4 ; [|4.9|] = 4 gibi ) ve [| x |] $eklinde gosterilen. int fonksiyonuna denk geliyor olmasI lazim basic'de. ote yandan kesirli sayILarda periyot kurallarIna gore 0.999... (bundan sonra kIsa olsun diye d dicem)  $eklindeki bir sayI 1 e e$itken (periyot seyreden kIsIm kac hanede kendisini tekrar ediyorsa tekrar eden kIsIm kesirin payIna tekrar eden basamaklar kadar kIsIm da paydaya yazILIyor, mesela .444... gibi bi sayI icin 4/9) bu durumda d nin 1 e e$it olmasI zaten 9/9=1 den de cIkIyor ancak i$ler bu tam deger fonk icin degi$iyor tamamen , yani [|1|]=1 iken [|d|] = 0 oluyor(mu$) bunun ispatlanmasI da limit aLInarak yapiliyormu$ hatta ama sormadIm hocaya ayrintisini bilmiyorum, ama sanIrIm lim (x |-> 0) [|a-x|] = (A-1) olmasIndan kaynaklaniyor olabilir ,

benim asLInda bunu geyik ba$liginda yazmam gerekirdi ama akLIma geldi $imdi burada

C64 vs C128

« Yanıtla #2 : 24.11.2004 02:24:42 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
canım açıklamak için kendini çok yorma. nette onlarca tutorial var floating point, fixed point olayını anlatan, ben sadece 64'le 128'in aritmetik farklılığına bir örnek verdim sadece.

P.S: Sorun C64'de 0.9'un işleme 0.89999999999 olarak girmesinden kaynaklanıyor.