Media Pengembangan Web & App | by APPKEY

Pembuatan Aplikasi Mobile Programming Mengenal Float dan Double Data pada Bahasa Pemrograman C++

Mengenal Float dan Double Data pada Bahasa Pemrograman C++

-

Bagi Anda yang ingin belajar bahasa pemrograman C++, sebaiknya Anda pahami tentang Float dan Double yang ada di C++. Float dan double adalah tipe data yang digunakan untuk melakukan  floating point data dan angka yang digunakan untuk nilai desimal atau eksponensial.

Meskipun sudah sangat lama, penggunaan tipe data ini masih terus digunakan oleh banyak developer. Berikut penjelasan lengkap tentang Float dan Double data pada C++.

Float C++ dan Double C++

float-c++-1

Seperti yang kita ketahui bahwa dalam C / C ++ membutuhkan tipe data float dan double untuk representasi bilangan floating point yaitu bilangan yang memiliki bagian desimal. Saat ini, berdasarkan ketepatan yang diberikan oleh kedua tipe data ini kita dapat membedakan keduanya.

Pertama-tama, kami akan membahas tentang double C++. Double memiliki presisi 2x lebih banyak dibandingkan dengan float yang berarti bahwa tipe data double memiliki presisi ganda dibandingkan dengan tipe data float.

Dalam jumlah presisi dapat dinyatakan sebagai double memiliki presisi 64 bit untuk bilangan floating point (1 bit untuk tanda, 11 bit untuk eksponen, dan 52 * bit untuk nilai), yaitu double memiliki presisi 15 digit desimal.

Sementara itu, float C++ memiliki presisi 32 bit untuk bilangan mengambang (8 bit untuk eksponen, dan 23 * untuk nilai), yaitu float memiliki presisi 7 digit desimal. Karena double memiliki lebih presisi dibandingkan dengan flot maka sangat jelas bahwa ia menempati dua kali memori yang menempati tipe data float.

Rentang kedua jenis data juga dapat direpresentasikan sebagai ± 3.40282347E + 38F yaitu 6-7 digit signifikan untuk float dan ± 1.79769313486231570E + 308 yaitu 15-16 digit signifikan untuk ganda.

Kami juga meringkas perbedaan Float C++ dan Double C++ untuk Anda agar lebih mudah memahaminya:

  1. Float C++ memiliki ukuran 4 bytes. Sementara Double C++ memiliki ukuran 8 bytes.
  2. Float memiliki presisi 7 digit desimal secara umum. Sementara, presisi double secara umum memiliki 15 digit presisi.
  3. Float adalah nilai presisi tunggal sementara double adalah nilai presisi ganda.
  4. Saat menggunakan float dengan Java, seseorang perlu typecast untuk mendeklarasikan float.

float fnum = 2.344f; atau float fnum = (float) 2.344;

  1. Sementara itu double adalah tipe titik desimal default untuk Java. dnum ganda = 2,344;
  2. Pada float, jika presisi tinggi tidak diperlukan dan program hanya membutuhkan sejumlah besar angka desimal untuk disimpan, float adalah cara hemat biaya untuk menyimpan data dan menghemat memori. Double sendiri lebih memakan biaya, menempati lebih banyak ruang dan lebih efektif bila diperlukan lebih banyak presisi. Misalnya, konversi mata uang, laporan dan transaksi keuangan, perhitungan ilmiah, dan lain sebagainya.

Artikel Terkait  Apa itu Compiler Python? Mengenal 7 Compiler Python Terbaik

Berdasarkan penjelasan di atas, dapat disimpulkan bahwa jika presisi tinggi tidak diperlukan dan program hanya memerlukan sejumlah besar angka desimal untuk disimpan, Float C++ adalah cara yang hemat biaya untuk menyimpan data dan menghemat memori, sementara saat diperlukan presisi yang lebih tinggi pergi untuk ganda.

Dalam dunia komputasi, data numerik dapat direpresentasikan dalam 2 cara  aritmatika titik tetap dan titik mengambang. Data titik tetap adalah apa yang kita sebut sebagai bilangan bulat dengan semacam faktor penskalaan.

Misalnya, 3,14 akan menjadi 314 dengan faktor skala 100, atau 2,3456 dapat dibulatkan menjadi 2,345 untuk mencapai jumlah digit tetap. Metode ini mengkompromikan keakuratan hasil dan tidak cocok untuk semua situasi.

Dengan demikian, lebih mudah dan lebih akurat untuk menggunakan representasi floating-point untuk perhitungan presisi tinggi (seperti yang akan kita lihat di bagian selanjutnya). Jika Anda ingin membaca tentang bilangan floating-point dari sudut pandang aritmatika, Anda dapat membaca artikel Wikipedia ini. Untuk blog ini, kami telah memfokuskan pada bagaimana bahasa pemrograman menggunakan bilangan floating-point ini untuk mendapatkan nilai dan rentang presisi.

Fungsi float dan double dengan cara yang sama di semua bahasa pemrograman. Misalnya, di Java, keduanya akan menampilkan NumberFormatException dengan operasi yang tidak menyertakan nomor aktual. Perhatikan bahwa kompilator tidak akan mendeteksi pengecualian ini. Contohnya sebagai berikut:

float fname = Float.parseFloat(sname);
System.out.println(fname/num1); // Leads to NumberFormatException at runtime
Dividing float and double by zero will give an output of ‘Infinity’ in Java.
double num2 = 344.55555555;

System.out.println(num2/0);

Apa itu nilai presisi dan di mana kita dapat menggunakannya?

float-c++-2

Jika Anda bekerja dengan data dalam jumlah kecil seperti nilai rata-rata, luas segitiga, dan lain sebagainya. Anda dapat menggunakan double sebagai default. Namun, jika Anda berurusan dengan banyak angka yang melibatkan presisi tinggi dan pembulatan apa pun dapat mengubah hasil seperti trigonometri, lebar rambut manusia, jaringan saraf, putaran elektron, koordinat lokasi, dan sebagainya maka float adalah jawabannya. Hal ini pun penting untuk diketahui tentang perbedaan antara float dan double.

Java mendorong Anda untuk menggunakan ganda, dalam bahasa seperti C Anda memiliki fleksibilitas untuk menggunakan apa pun yang Anda inginkan. Deklarasi Java yang khas akan terlihat seperti:

float number1 = (float) 12.211111111111;

Kemudian, jika Anda tidak melakukan typecasting pada data tersebut, kode Anda tidak akan dikompilasi di Java. Saat Anda melakukannya, saat mencetak nomor, Anda hanya akan mendapatkan 6 digit setelah koma desimal.

Pertimbangkan program sederhana untuk mengalikan dua angka – 1.42222 * 234.56433 ditulis dalam C. Hal ini bisa berupa massa atom atau gaya gravitasi yang harus memiliki semua digit signifikannya utuh.

float num1 = 1.42222*234.56433;
double num2 = 1.42222*234.56433;
printf("%f", num1);printf("%.10f", num2);

Sementara num1 mengembalikan nilai sebagai 333.602081, num2 dideklarasikan sebagai pengembalian double 333.6020814126, yang tepat hingga 10 digit seperti yang disebutkan dalam pernyataan printf. Kita juga bisa mencetak float sebagai double dan sebaliknya, semuanya tergantung bagaimana kita menulis statement printf.

Menulis% f akan menghapus beberapa digit signifikan, sedangkan saat kita menentukan jumlah digit, seluruh nilai hingga yang akan dicetak. Untuk mencetak nilai dalam istilah eksponensial, Anda harus menggunakan “% e”.

Di Java, seperti yang telah kita lihat sebelumnya, hanya jika kita mengetikkan ke (float), nilainya dicetak. Java menganggap semua nilai desimal presisi tinggi sebagai ganda secara default akan menghasilkan masing-masing 333.60208 dan 333.6020814126.

float values;
double doubes;values = (float) (1.42222*234.56433);
doubes = 1.42222*234.56433;System.out.println(values);
System.out.println(doubes);

Artikel Terkait  Status dan Tantangan dari Aplikasi Perbankan Saat ini | Wujudkan Nilai Kreasi Bersama dengan Pelanggan Melalui Saluran Seluler

Perbandingan Logis

Pada contoh kali ini, kami menggunakan operator <, <=,> = dan> untuk membandingkan nilai float dan double. Dengan bilangan bulat, kita dapat menggunakan! = Dan = tetapi di sini kita tidak melakukannya karena operator terakhir kurang tepat.

Jadi sangat jelas, ketika float digunakan, perbandingan yang tepat tidak mungkin dilakukan karena presisi hanya sampai 5-6 digit. Setiap perbedaan dalam angka tidak tertangkap. Untuk menghindari typecasting setiap kali kita menulis angka dalam float, kita dapat meng-suffix angka tersebut dengan ‘f’. Berikut ini adalah contohnya:

float number1 = 3.1434343f;

Big Decimal

.NET dan Java juga memiliki kelas Desimal / BigDecimal yang memiliki presisi lebih tinggi dari dua kali lipat. Untuk penghitungan yang lebih akurat seperti dalam aplikasi keuangan dan perbankan, Desimal digunakan karena semakin mengurangi kesalahan pembulatan.

Long double

Beberapa bahasa pemrograman seperti C menggunakan double panjang yang memberikan presisi lebih dari double.

Divisi dengan float dan double

Sama seperti dalam perkalian atau penjumlahan, pembagian akan menghasilkan angka yang lebih presisi menjadi dua kali lipat. Berikut adalah contohnya:

float number1 = 3.1434343f;
double number2 = 3.1434343;
float divide = 22/7f;
// first let us print the result as doubledouble result1 = number1/divide;
/* the same result but now it is a float value,note the difference in significant digits */float result3 = number1/divide;
// the double valuedouble result2 = number2/divide;System.out.println(result1);
// 1.0001837015151978System.out.println(result3);
// 1.0001837System.out.println(result2); // 1.000183662587488

Hal ini sangat berguna ketika penyebut lebih besar dari pembilang dan hasilnya adalah pecahan kecil seperti berikut ini:

float pie = 22/7f;
float pieby4096 = pie/4096;
double dpie = 22/7d;
double dpieby4096 = dpie/4096;System.out.println("Float Pie is - " + pie);
System.out.println("Double pie is - " + dpie);System.out.println("Float Pie divided by 4096 - " + pieby4096);
System.out.println("Double Pie divided by 4096 - " + dpieby4096);
double pieby4096usingfloatpie = pie/4096;
System.out.println("Float Pie divided by 4096 with result as double - " + pieby4096usingfloatpie);

Berikut ini adalah hasilnya:

Float Pie is - 3.142857
Double pie is - 3.142857142857143
Float Pie divided by 4096 - 7.672991E-4
Double Pie divided by 4096 - 7.672991071428571E-4
Float Pie divided by 4096 with result as double - 7.672990905120969E-4

Perhatikan 3 hasil terakhir. Pie yang kita pilih untuk membagi angka membuat perbedaan dalam angka signifikan dari hasil. Inilah presisi yang sedang kita bicarakan.

Artikel Terkait  Bisakah Merubah Aplikasi Web Menjadi Aplikasi Android? Yuk Intip Caranya!

Melakukan Concatenation dengan String

Di Java, dimungkinkan untuk menggabungkan string dengan double dan float menggunakan operator +.

float flo = 23.2f;
String concat = str + flo;
double dou = 3.45555555;
concat += dou;System.out.println(concat);
// result will be test23.23.45555555

Itulah penjelasan tentang perbedaan lengkap antara Double vs Float. Meskipun typecasting dari float ke double dan double ke float diperbolehkan dan valid dengan sempurna, namun ingatlah hal ini harus dilakukan dengan hati-hati dalam kode. Jika Anda terlalu sering mengonversi, presisi mungkin hilang dan Anda akan kehilangan seluruh tujuan penggunaan double.

Selama tahap awal pengembangan, tentukan apakah Anda ingin menggunakan float atau double dan pertahankan hal yang sama di seluruh aplikasi. Hal ini juga merupakan ide yang baik untuk mengetahui bagaimana data tertentu disimpan dalam database.

Jika aplikasi Anda perlu performant, gunakan float, karena dengan kumpulan data yang besar, double bisa membuat program Anda lambat. Jika data Anda membutuhkan lebih presisi, gunakan double.


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang Website, Aplikasi, Desain, Video dan API langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Kategori

Blog Post Ranking 10

Rekomendasi 10 Aplikasi Pembuat Animasi 3D Terbaik. Ayo Cek!

Apakah Anda bercita-cita untuk menjadi seorang animator profesional? Belajar membuat animasi kini sudah menjadi hal mudah yang bisa dilakukan...

Cara Mudah Menambahkan Lokasi Alamat Bisnis Anda di Google Maps

Saat ingin hunting tempat makan atau tempat nongkrong terbaru, tak jarang beberapa dari Anda biasanya mendapatkan informasi terkini melalui...

Proses Komunikasi: Encoding dan Decoding

Jika kita dapat melihat percakapan antar komputer, mungkin akan terlihat seperti ini: "010110111011101011010010110". Bahasa ini disebut dengan biner, encoding...

Cara Membuat Aplikasi di Playstore dengan Mudah

Membuat aplikasi di Playstore bisa Anda lakukan dengan mudah. Terdapat beberapa situs yang bisa membantu Anda untuk membuat aplikasi...

Metadata Adalah? Fungsi dan Jenis-Jenis Metadata

Pernah mendengar istilah metadata? Mungkin, kita sering mendengar istilah metadata. Tetapi, banyak dari kita yang belum tahu arti dari metadata...

Pengertian Internet & Dampak Positif dan Negatif Internet

Internet mungkin bukan sesuatu yang asing lagi, sebab semua kalangan pasti tahu apa itu internet. Hanya saja jika ditanya...

Domain Google? Apa Bedanya Dengan Domain Biasa?

Saat memutuskan untuk membuat website menjadi salah satu bentuk media digital marketing Anda dalam bersaing di zaman digital ini,...

7 Aplikasi Membuat Aplikasi Android Secara Offline

Aplikasi membuat aplikasi android saat ini banyak dicari penekun IT untuk membuat aplikasi Android secara offline tanpa harus menggunakan...

10 Aplikasi Coding Android Terbaik

Ketersediaan aplikasi coding Android memang banyak dicari oleh orang-orang yang sedang atau akan memulai untuk membuat aplikasi android. Jika...

Looping Adalah Algoritma Perulangan: Berikut Contohnya

Jika anda sudah mendalami atau sedang mendalami dunia pemrograman terdapat sebuah konsep yang dapat memudahkan anda dalam menyusun struktur...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya