Memahami Tipe Data Integer - ( Repost postingan lama )

May 21, 2016 8:51 AM

0x0A1. Memahami Tipe Integer

Pada dasarnya tipe ini digunakan untuk bilangan bulat. Tipe integer di bahasa C digunakan untuk merepresentasikan :
+ nilai signed maupun unsigned integer yang biasanya digunakan untuk operasi aritmatik.
+ vektor bit (manipulasi bit), contohnya adalah operasi AND (&), OR (|), XOR (^), geser bit ke kanan (>>) maupun geserbit ke kiri (<<).
+ nilai boolean, bisanya nilai 0 digunakan sebagai FALSE, dan nilai 1 sebagai TRUE.
+ encoding karakter, kita bisa menggunakan tipe integer untuk mengakses/menggunakan karakter sesuai yang didefinisikan di ASCII. Ini tidak ada di bahasa pemrograman lain kecuali c++.


C menyediakan tiga buah ukuran dari tipe signed integer yang dinotasikan oleh short, int dan long. Beberapa tipe dapat didefinisikan dalam beberapa cara berikut:

sort, short int, signed short, signed short int, unsigned short int
int, signed int, signed, unsigned int
long, long int, signed long, signed long int, unsigned long int

Berikut ini contoh deklarasi menggunakan tipe short dan unsigned di atas:

short data;
short int data1;
signed short data2;
unsigned short int data3
signed short int data4;

int nilai;
signed int nilai1;
unsigned int nilai2;
signed nilai3;
unsigned nilai4;

long val;
long int val2;
signed long val3;
signed long int val5;
unsigned long int val6

Bagaimana dengan range atau jangkauan data dari tipe-tipe di atas?. Biasanya tipe short direpresentasikan dalam 16 bit, sedangkan long direpresentasikan dalam 32 bit. Tipe integer tidak lebih kecil dari short dan tidak lebih besar dari long, tergantung dari implementasi. ANSI C menggunakan file limits.h dalam mendefinisikan jangkauan tipe integer. Anda bisa membaca file limits.h di direktori /usr/include. Berikut beberapa jangkauan tipe integer yang saya ambil dari file limits.h sesuai dengan ISO C99 Standard: 7.10/5.2.4.2.1.

Nama dan Nilai tipe data
——————————————————————
SHRT_MIN (-32768) signed short int (minimum)
SHRT_MAX 32767 signed short int (maksimum)
USHRT_MAX 65535 unsigned short int (maksimum)
INT_MIN (-INT_MAX – 1) signed int (minimum)
INT_MAX 2147483647 signed int (maximum)
UINT_MAX 4294967295U unsigned int (maximum)
LONG_MAX 2147483647L signed long int (minimum)
LLONG_MAX 9223372036854775807LL signed long long int (minimum)
LLONG_MIN (-LLONG_MAX – 1LL) signed long long int (maximum)
ULLONG_MAX 18446744073709551615ULL unsigned long long int (maximum)

0x0A2. Tipe Karakter

Kita menggunakan tipe data (char) untuk mendefinisikan karakter. Hampir sama dengan integer, tipe char dapat juga dinotasikan dengan signed dan unsigned berikut.

char, signed char, unsigned char

Perbedaan ketiga tipe karakter tersebut memiliki jumlah penyimpanan yang sama namun memiliki perbedaan representasi nilai. Representasi nilai tipe karakter juga didefinisikan di file limits.h.

Nama Nilai tipe data
————————————————
CHAR_BIT 8 char
SCHAR_MIN (-128) signed char (minimum)
SCHAR_MAX 127 signed char (maximum)
UCHAR_MAX 255 unsigned char (maximum)

Tipe char hanya bisa berisi satu buah karakter, jika anda ingin menyimpan data lebih dari satu karakter, anda harus memakai array atau pointer. Berikut ini contoh deklarasi tipe char.

/* deklarasikan varibel yang menyimpan 1 buah karakter */
char karakter;
char tipe = ‘n’;
char ch = ”;
signed char chx;

/* deklarasikan varibel yang menyimpan lebih dari 1 karakter */
unsigned char nama[10]; /* array berisi 10 karakter */
unsigned char *alamat; /* pointer karakter */

0x0A3. Tipe Floating Point

Tipe floating point digunakan pada variabel yang menyimpan data berupa bilangan real. Tipe floating point ini datang dengan dua presisi yaitu presisi tunggal dan presisi ganda, atau float dan double. Di dalam tipe floating point ini beberapa tipe data yang dapat kita gunakan dalam mendeklarasikan variabel adalah:

float
double
long double (ANSI C)

Tipe long double adalah tipe baru di ANSI. Jika anda ingin menggunakan aturan standar ANSI C, anda harus menambahkan opsi -std=ansi ketika mengkompilasi program. ANSI C mempunyai karakteristik tipe floating point yang didokumentasikan di file float.h.

Menggunakan tipe data float, double dan long double mirip seperti memakai short, int dan long. Namun di dalam implementasinya, tipe double dan long double memerlukan konversi dari tipe float ke tipe doubel sebelum operasi dijalankan. Jadi menggunakan tipe float lebih efisien dari pada menggunakan tipe double.

Contoh deklarasi variabel:

float pecahan;
doubel real;
long doubel exp_num; (ANSI C)

0 comments:

Article list :