Pinned

Tipe Data Float dan Double Bahasa C Beserta Fungsinya

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
Ilustrasi Tipe Data Bahasa C

Sebelum mempelajari materi tentang Tipe Data Float dan Double Bahasa C Beserta Fungsinya, terlebih dahulu pelajari materi tentang: Tipe Data Long Bahasa C Beserta Fungsi dan Perbedaan Kebutuhannya [klik]Tipe Data size_t pada Bahasa C dan Fungsinya [klik], dan Tipe Data dan Modifier Bahasa C Beserta Fungsinya [klik]

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.

Baca Juga:

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.

Contoh:

// 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

7 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

Hubungi admin melalui Wa : +62-896-2514-6106

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

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -