3 Perbedaan Tipe Data Float dan Double pada Bahasa C

Untuk menampilkan angka float pada program bahasa C, maka dapat digunakan tipe data floatdouble, dan long double pada pembuatan program tersebut.
3 Perbedaan Tipe Data Float dan Double pada Bahasa C - elfanmauludi
Ilustrasi Tipe Data Bahasa C

Perbedaan Tipe Data
  • double memiliki dua kali lebih banyak presisi dibandingkan dengan float.
  • float adalah 32 bit IEEE 754 presisi tunggal floating point number bit, dimana float memiliki 7 decimal digit presisi.
  • double adalah 64 IEEE 754 double presisi floating point number, dimana double memiliki 15 desimal digit presisi.

Ambil contoh berikut ini: untuk persamaan kuadrat X2 - 4,0000000x + 3,9999999 = 0, nilai akar yang tepat untuk 10 digit signifikan adalah r1=2,000316228 dan r2=1,999683772.

// Perbedaan antara float dan

// double pada bahasa C

 

// Program bahasa C yang

// mendemonstrasikan

 

// nilai presisis float

// dan double

#include <stdio.h>

#include <math.h>

 

// Fungsi utilitas yang meng-

// kalkulasi akar kuadrat

 

// dari persamaan yang meng-

// gunakan nilai double

void double_solve(double a, double b, double c)

{

double d = b*b - 4.0*a*c;

double sd = sqrt(d);

double r1 = (-b + sd) / (2.0*a);

double r2 = (-b - sd) / (2.0*a);

printf("%.5f\t%.5f\n", r1, r2);

}

 

// Fungsi utilitas yang meng-

// kalkulasi akar kuadrat

 

// dari persamaan yang meng-

// gunakan nilai float

void float_solve(float a, float b, float c)

{

float d = b*b - 4.0f*a*c;

float sd = sqrtf(d);

float r1 = (-b + sd) / (2.0f*a);

float r2 = (-b - sd) / (2.0f*a);

printf("%.5f\t%.5f\n", r1, r2);

}

 

// Menjalankan program

int main()

{

float fa = 1.0f;

float fb = -4.0000000f;

float fc = 3.9999999f;

double da = 1.0;

double db = -4.0000000;

double dc = 3.9999999;

 

printf("persamaan akar dari x2"

" - 4.0000000 x + 3.9999999 ="

" 0 adalah : \n");

 

printf("untuk nilai float "

": \n");

float_solve(fa, fb, fc);

 

printf("untuk nilai double"

": \n");

double_solve(da, db, dc);

 

return 0;

}

Output:
persamaan akar dari x2 - 4.0000000 x + 3.9999999 = 0 adalah :
untuk nilai float :
2.00000    2.00000
untuk nilai double :
2.00032    1.99968

Komentar

  1. Apa yang dimaksud dengan float pada bahasa C?

    BalasHapus
    Balasan
    1. float adalah istilah singakt dari "Floating point". Menurut definisi, tipe data float adalah tipe data fundamental yang dibangun ke dalam kompilator yang digunakan untuk menentukan nilai numerik dengan titik desimal yang mengambang.

      Hapus
    2. Tipe data float menyimpan bilangan floating point dengan presisi ganda hingga 17 digit signifikan dengan kisaran nilai untuk tipe data float adalah sama dengan kisaran tipe data doublle pada bahasa C.

      Hapus
  2. Apa yang dimaksud dengan tipe data double pada bahasa C?

    BalasHapus
    Balasan
    1. Double adalah tipe data fundamental yang dibangun ke dalam kompilator dan digunakan untuk mendefinisikan variabel numerik yang menyimpan angka dengan titik desimal.

      Hapus
  3. Apa perbedaan antara tipe data double dan tipe data float pada bahasa C?

    BalasHapus
    Balasan
    1. Tipe data double memiliki presisis dua kali lebih banyak daripada tipe data float.

      Hapus

Posting Komentar

*Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

*Jika terdapat typo, link bermasalah, dan lain sebagainya, pengunjung dapat melaporkan permasalahan tersebut melalui WA: +62-896-2514-6106




~ Ikatlah Ilmu dengan Memostingkannya ~

Referensi Tambahan:

Enkapsulasi pada Java

6 Contoh Program Method Overloading pada Java

2 Jenis Utama Kegiatan Penelitian Berdasarkan Waktunya, Crosssectional Salah Satunya

3 Jenis Utama Looping pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

3 Jenis Utama Teks Komentar pada Bahasa Pemrograman Java