Tipe Data Float dan Double Bahasa C Beserta Fungsinya
Tipe Data Float
#include <stdio.h>
int main() {
float nilai_float = 3.14f;
printf("Nilai float: %f\n",
nilai_float);
return 0;}
Tipe Data Double
#include <stdio.h>
int main() {
double nilai_double =
3.141592653589793;
printf("Nilai double: %lf\n",
nilai_double);
return 0;}
- 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.
- Presisi: Perbedaan utama antara float dan double terletak pada presisi. double menyimpan lebih banyak digit desimal dibandingkan dengan float, menjadikannya lebih sesuai untuk perhitungan matematika yang memerlukan tingkat ketelitian yang tinggi.
- Ukuran Memori: float menggunakan 32-bit, sedangkan double menggunakan 64-bit. Oleh karena itu, double memerlukan lebih banyak ruang dalam memori.
- Rentang Nilai: Karena presisi yang lebih tinggi, double memiliki rentang nilai desimal yang lebih besar dibandingkan dengan float. Ini berarti double dapat merepresentasikan rentang nilai yang lebih luas tanpa kehilangan 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
- Ketelitian Penting: Jika ketelitian desimal sangat penting, seperti dalam perhitungan ilmiah atau keuangan, lebih baik menggunakan tipe data double.
- Keterbatasan Memori: Jika terdapat keterbatasan memori dan presisi yang lebih rendah dapat diterima, float dapat dipilih untuk mengurangi penggunaan memori.
- Performa: Pada beberapa arsitektur, operasi menggunakan float dapat lebih cepat daripada operasi menggunakan double. Namun, perbedaan ini mungkin tidak signifikan dalam banyak kasus.
- Default Pilihan: Saat tidak yakin, banyak pengembang lebih memilih menggunakan double karena telah menjadi tipe data default untuk operasi pecahan dalam bahasa C.
- Fleksibilitas Presisi: Penggunaan float dan double memberikan fleksibilitas dalam memilih tingkat presisi yang sesuai dengan kebutuhan aplikasi. Jika tingkat presisi yang tinggi diperlukan, pengembang dapat memilih double, sedangkan jika memori perlu dioptimalkan, float bisa menjadi pilihan.
- Optimalisasi Penggunaan Memori: Tipe data float menggunakan 32-bit, sedangkan double menggunakan 64-bit. Dengan demikian, pengembang dapat memilih tipe data yang sesuai dengan ketersediaan memori dan kebutuhan presisi aplikasi.
- Rentang Nilai yang Dapat Diwakili: double memiliki rentang nilai yang lebih besar daripada float, yang memungkinkan penggunaannya dalam aplikasi yang memerlukan rentang nilai yang lebih luas, seperti simulasi ilmiah atau perhitungan kompleks.
- Optimalisasi Kinerja pada Beberapa Arsitektur: Pada beberapa arsitektur komputer, operasi menggunakan float dapat lebih cepat daripada operasi menggunakan double. Jika performa kritis untuk suatu aplikasi, pemilihan tipe data dapat dioptimalkan berdasarkan karakteristik arsitektur tersebut.
- Efisiensi Penggunaan Memori: Saat memori merupakan sumber daya yang terbatas, penggunaan tipe data float dapat membantu mengurangi konsumsi memori karena ukurannya yang lebih kecil dibandingkan double.
- Kompatibilitas dengan Perangkat Khusus: Beberapa perangkat keras atau perangkat tertentu mungkin memiliki dukungan yang lebih baik atau kinerja yang dioptimalkan untuk tipe data tertentu. Pemilihan antara float dan double dapat disesuaikan dengan kebutuhan perangkat khusus tersebut.
- Default Pilihan pada Beberapa Fungsi Standar: Banyak fungsi matematis standar dalam bahasa C, seperti fungsi-fungsi dari pustaka math (math.h), menerima dan mengembalikan nilai dengan tipe data double. Oleh karena itu, menggunakan double sebagai tipe data default dapat meningkatkan konsistensi dengan fungsi-fungsi standar tersebut.
Kesimpulan
- Nilai Default Variabel Static Bahasa C dan Fungsinya
- Volatile Bahasa C dan Fungsinya
- Membuat Nilai Variabel Tidak Berubah pada Bahasa C Menggunakan Konstanta Qualifier
- Inisialisasi Variabel Statik Bahasa C dan Larangannya
- Keyword Register Bahasa C dan Fungsinya
- Mencetak dan Menginput Nilai Bahasa C menggunakan Printf dan Scanf
- Getchar dan Putchar Bahasa C Beserta Fungsinya
7 komentar untuk "Tipe Data Float dan Double Bahasa C Beserta Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-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 -
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