Jenis-jenis data Fundamental di C++ - TeachMeSoft

Jenis-jenis data Fundamental di C++

Jenis-jenis data Fundamental di C++
Nilai variabel disimpan di suatu tempat di lokasi yang tidak ditentukan dalam memori komputer sebagai nol dan satu. Program kami tidak perlu mengetahui lokasi pasti di mana variabel disimpan; itu hanya dapat merujuknya dengan namanya. Apa yang perlu diperhatikan oleh program adalah jenis data yang disimpan dalam variabel. Tidak sama dengan menyimpan integer sederhana karena menyimpan huruf atau angka floating-point yang besar; meskipun mereka semua diwakili menggunakan nol dan satu, mereka tidak ditafsirkan dengan cara yang sama, dan dalam banyak kasus, mereka tidak menempati jumlah memori yang sama.

Tipe data fundamental adalah tipe dasar yang diimplementasikan secara langsung oleh bahasa yang mewakili unit penyimpanan dasar yang didukung secara asli oleh sebagian besar sistem. Mereka terutama dapat diklasifikasikan ke dalam:
  • Jenis karakter: Mereka dapat mewakili satu karakter, seperti 'A'atau '$'. Tipe paling dasar adalah char, yang merupakan karakter satu byte. Tipe lain juga disediakan untuk karakter yang lebih luas. 
  • Jenis bilangan bulat numerik: Mereka dapat menyimpan nilai bilangan bulat , seperti 7atau 1024. Mereka ada dalam berbagai ukuran, dan dapat ditandatangani atau tidak ditandatangani , tergantung pada apakah mereka mendukung nilai negatif atau tidak. 
  • Tipe floating-point: Mereka dapat mewakili nilai nyata, seperti 3.14atau 0.01, dengan tingkat presisi yang berbeda, tergantung pada mana dari ketiga tipe floating-point yang digunakan. 
  • Tipe Boolean: Tipe boolean, dikenal dalam C ++ as bool, hanya bisa mewakili satu dari dua status, trueatau false.

Berikut adalah daftar lengkap tipe fundamental di C ++:


* Nama-nama tipe integer tertentu dapat disingkat tanpa mereka signeddan intkomponen - hanya bagian yang tidak dicetak miring yang diperlukan untuk mengidentifikasi jenisnya, bagian yang dicetak miring adalah opsional. Yaitu, dapat disingkat , , atau hanya ; mereka semua mengidentifikasi tipe fundamental yang sama. Di dalam masing-masing kelompok di atas, perbedaan antara tipe hanya ukurannya (yaitu, seberapa banyak mereka menempati memori): tipe pertama dalam setiap grup adalah yang terkecil, dan yang terakhir adalah yang terbesar, dengan masing-masing jenis setidaknya sama sebesar yang sebelumnya dalam kelompok yang sama. Selain itu, tipe dalam grup memiliki properti yang sama. Perhatikan pada panel di atas bahwa selainsigned short intsigned shortshort intshort

char(yang memiliki ukuran tepat satu byte), tidak ada tipe fundamental yang memiliki ukuran standar yang ditentukan (tetapi ukuran minimum, paling banyak). Oleh karena itu, jenis ini tidak diperlukan (dan dalam banyak kasus tidak) persis ukuran minimum ini. Ini tidak berarti bahwa tipe-tipe ini memiliki ukuran yang tidak ditentukan, tetapi tidak ada ukuran standar di semua kompiler dan mesin; setiap implementasi kompiler dapat menentukan ukuran untuk jenis ini yang paling sesuai dengan arsitektur di mana program akan dijalankan. Spesifikasi ukuran yang agak umum untuk tipe ini memberikan bahasa C ++ banyak fleksibilitas untuk diadaptasi agar bekerja secara optimal di semua jenis platform, baik sekarang maupun di masa depan.

Jenis ukuran di atas dinyatakan dalam bit; semakin banyak bit yang dimiliki tipe, nilai yang lebih berbeda yang dapat diwakilinya, tetapi pada saat yang sama, juga mengkonsumsi lebih banyak ruang dalam memori:


Untuk tipe integer, memiliki nilai yang lebih dapat diwakili berarti bahwa kisaran nilai yang dapat mereka wakili lebih besar; misalnya, integer 16-bit unsigned akan dapat mewakili 65536 nilai yang berbeda dalam rentang 0 hingga 65535, sedangkan mitra yang ditandatangani akan dapat mewakili, pada kebanyakan kasus, nilai antara -32768 dan 32767. Perhatikan bahwa kisaran nilai positif kira-kira dibelah dua dalam tipe yang ditandatangani dibandingkan dengan tipe yang tidak ditandatangani, karena fakta bahwa salah satu dari 16 bit digunakan untuk tanda; ini adalah perbedaan yang relatif sederhana dalam kisaran, dan jarang membenarkan penggunaan tipe yang tidak ditandatangani berdasarkan murni pada kisaran nilai positif yang dapat mereka wakili.

Untuk tipe floating-point, ukuran mempengaruhi presisi mereka, dengan memiliki bit lebih atau kurang untuk signifikan dan eksponen.

Jika ukuran atau ketepatan jenis tidak perhatian, maka char, int, dan doublebiasanya dipilih untuk mewakili karakter, bilangan bulat, dan floating-point nilai, masing-masing. Jenis lain dalam kelompoknya masing-masing hanya digunakan dalam kasus yang sangat khusus.

Properti tipe dasar dalam sistem tertentu dan implementasi kompiler dapat diperoleh dengan menggunakannumeric_limitskelas (lihat tajuk standar <limits>). Jika karena alasan tertentu, jenis ukuran tertentu diperlukan, perpustakaan menentukan alias tipe ukuran tertentu tertentu di header <cstdint>.

Tipe yang dijelaskan di atas (karakter, bilangan bulat, titik apung, dan boolean) secara kolektif dikenal sebagai tipe aritmatika. Tetapi ada dua tipe fundamental tambahan:, voidyang mengidentifikasi kekurangan tipe; dan tipe nullptr, yang merupakan tipe pointer khusus. Kedua jenis akan dibahas lebih lanjut dalam bab mendatang tentang petunjuk.

C ++ mendukung berbagai jenis berdasarkan pada tipe dasar yang dibahas di atas; tipe-tipe lain ini dikenal sebagai tipe data majemuk , dan merupakan salah satu kekuatan utama dari bahasa C ++. Kita juga akan melihatnya secara lebih rinci di bab-bab selanjutnya.





Disqus comments