Forum Sains Indonesia



*
Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?
Mei 22, 2013, 12:57:12 PM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Artikel Sains

Aku Cinta ForSa

  ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

 

randy13

Mei 20, 2013, 08:45:31 AM
Assalamuallaikum...
admin, buat topik baru gimana caranya? :)
 

mustiyanidewi

Mei 19, 2013, 01:00:54 PM
kenapa baterai yang 9 volt setelah lama digunakan malah turun menjadi 7 volt ya?? pengaruhnya apa??
 
 

syx

Mei 17, 2013, 06:57:51 AM
done!
 

skuler

Mei 16, 2013, 06:18:41 PM
dear admin, tolong user ini di banned: http://www.forumsains.com/profile/assofamarwa/ dan topik buatannya ditaruh di tempat sampah. terima kasih
 

jeddew

Mei 15, 2013, 06:45:52 AM
Assalamu'alaikum...
 

nurul hidayah

Mei 14, 2013, 06:54:02 PM
ass...salam kenal..gimana cara upload artikel?
 

Malik05

Mei 14, 2013, 09:52:57 AM
assalamualaikum
salam ForSa...
bagaimana cara Post.?
 

yogamasteng

Mei 12, 2013, 07:50:21 PM
cara posting baru diforum gmna
 

Humaira

Mei 12, 2013, 08:30:53 AM
Darlington Array.. ???
 

Humaira

Mei 12, 2013, 08:30:45 AM
Darlington Array.. ???

Show 50 latest

Perlihatkan Tulisan

Seksi ini mengijinkan Anda untuk melihat semua tulisan yang dibuat oleh anggota ini. Catatan bahwa Anda hanya bisa melihat tulisan yang dibuat dalam area di mana Anda memiliki akses terhadapnya.


Topik - cph

Halaman: [1]
1
Bahasa C/C++ / tanya C : rounding error
« pada: April 25, 2009, 09:50:46 AM »
Kode: [Pilih]
#include <math.h>
#include <stdio.h>

/* http://goldennumber.net/five(5).htm */
#define PHI      pow(M_E, asinh(0.5))

/* http://goldennumber.net/five(5).htm */
double fib (unsigned int n)
{
  return((pow(PHI, (double)n)) / sqrt(5.0));
}

int main (void)
{
  int x;

  for (x = 0; x < 100; ++x) {
    printf("%40.0f\tx=%d\n", fib(x), x);
  }

  return(0);
}
fungsi fib() memberikan nilai balik berupa bilangan fibonacci ke-n.
fungsi main() berisi looping yg akan mencetak bilangan fibonacci ke-0 sampai ke-99.
permasalahan muncul pada saat x=71 d mana fungsi fib() memberikan hasil yg salah (tidak memenuhi hukum f[n] = f[n-1] + f[n-2]), kesalahan jg terjadi pada saat x=76 dan setelah x=79.

sprtinya permasalahan floating point error / rounding error, ada yg bisa bantu dlm hal ini?

PS : tolong jgn beri usulan soal penggunaan "recursion" (lambat & bs bikin stack overflow alias hang), atau "tail recursion" (agak lbh cpt dr pd recursion, tp tetep aja recursion)

Halaman: [1]
Copyright © 2006-2011 Forum Sains Indonesia