Tipe Data Float dan Double Bahasa C Beserta Fungsinya
- 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.
// 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;
}
untuk nilai float :
2.00000 2.00000
untuk nilai double :
2.00032 1.99968
- 4 Kondisi Nilai Default Variabel Static pada Bahasa C [klik]
- Pemahaman Volatile Tahap 1 pada Bahasa C [klik]
- Pemahaman Volatile Tahap 2 pada Bahasa C [klik]
- 4 Kondisi Utama Penggunaan Konstanta Qualifier pada Bahasa C [klik]
- Hindari Contoh Berikut untuk Inisialisasi Variabel Statik Bahasa C [klik]
- 5 Fakta tentang Keyword Register pada Bahasa C [klik]
- Fakta tentang Return Printf dan Scanf pada Bahasa C [klik]
Apa yang dimaksud dengan float pada bahasa C?
BalasHapusfloat 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.
HapusTipe 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.
HapusApa yang dimaksud dengan tipe data double pada bahasa C?
BalasHapusDouble adalah tipe data fundamental yang dibangun ke dalam kompilator dan digunakan untuk mendefinisikan variabel numerik yang menyimpan angka dengan titik desimal.
HapusApa perbedaan antara tipe data double dan tipe data float pada bahasa C?
BalasHapusTipe data double memiliki presisis dua kali lebih banyak daripada tipe data float.
Hapus