iklan banner

Tipe Data Integer | Mencar Ilmu Struktur Data C & C++


Tipe data integer ini sangat sering dipakai dalam banyak sekali macam bahasa pemrograman termasuk C dan C++. Tapi kebanyakan dari kita tidak terlalu memperhatikan tipe data integer sampai detail. Mengapa ? Karena kita berpikir yang penting sanggup deklarasi variabel yang menyimpan angka, itu sudah cukup.

Ok, hal tersebut memang benar, tapi tidak ada salahnya kalau kita mempelajari tipe data integer ini lebih dalam. Data yang disimpan dengan memakai tipe data integer, yang penulisannya dalam bahasa pemrograman C dinyatakan dengan int.

2 Macam Tipe Data Integer

1. Tipe : signed int

Tipe data integer yaitu signed int ini mempunyai kapasitas 2 byte atau 16 bit. Kaprikornus ada 2 pangkat 16 kemungkinan yaitu 65536. Tapi walaupun mempunyai kapasitas 65536, itu bukan berarti nilainya dari 0 - 65535 loh.. Mengapa ?
Namanya saja signed artinya bertanda. Kaprikornus kalau signed int, maka artinya integer yang mempunyai tanda positif dan negatif. Kaprikornus singkatnya, jangkauan nilai dari signed int ini ialah dari :
-32768 sampai 32767

2. Tipe : unsigned int


Tipe data integer yang satu ini kebalikan dari signed. Yang tadinya sanggup bertanda negativ, kini selalu positif alias dari 0 - 65535 ( BUKAN 65536 alasannya ialah dihitung dari 0).

Contoh Program Dalam C Dan C++

Contoh 1


#include <stdio.h>  int main() {     signed int N;     N = 65535;     printf("%i\n");     printf("%u\n"); } 
Nah output dari arahan diatas ialah :
-1
65535

Mengapa outputnya sanggup menyerupai itu ? Mari kita bahas sedikit demi sedikit.
Pertama kan kita mendeklarasikan variabel N dengan signed int. Artinya bilangan bertanda, jadi jangkauannya antara -32768 sampai 32767.
Tapi kita ketahui nilai tersebut ialah salah. Maka secara otomatis, nilai tersebut akan digantikan sesuai hukum signed int, yaitu dari 65535 akan menjadi -1. Kok sanggup jadi -1 ?
Karena nilai maksimal ialah -1, sedangkan kalau nilainya ialah 32768 maka akan menjadi -32768. Mengertikan ? Bila belum mengerti aku beri rumus cepat merubah unsigned menjadi signed :
Rumusnya :
Nilai Signed = Nilai unsigned int - 65536
Nah sehabis nilainya jadi -1, kini di printf dengan format %i. %i ialah format untuk signed integer. Kaprikornus output pertama ya -1. Lalu di printf lagi dengan format %u. %u ialah format untuk unsigned integer. Kaprikornus dari -1 harus dipaksa menjadi unsigned, yaitu 65535. maka munculah output 65535.

Contoh 2


#include <stdio.h>  int main() {     signed int N;     N = 98304;     printf("%i\n");     printf("%u\n");     //output :      //-32768     //32768 } 
Mengapa outputnya sanggup -32768 dan 32768 ? Ya alasannya ialah melebihi batas. Mari kita bahas sedikit demi sedikit. (Padahal kodenya pendek, tapi penjelasannya panjang hahahaha)

Pertama kita mendeklarasikan variabel bertipe signed int dengan nilai 98304. Ingat di dalam C dan C++ bila ada nilai yang melebihi batas menyerupai diatas, maka akan otomatis dikurangi dengan total jangkauan sampai nilai tersebut masuk ke dalam jangkauannya. Ngerti ?
98304 dikurangi total jangkauan signed int (-32768 sampai 32767 jadi total jangkauan 65536)
98304 dikurangi  65536 = 32768
32768 sudah masuk dalam jangkauan signed int ? belum ! Maka kurangi lagi
32768 - 65536 = -32768 sudah masuk dalam jangkauan signed int ? Sudah ! Stop. Maka outputnya ialah -32768.
Begitu juga untuk unsigned int :
98304 dikurangi total jangkauan unsigned int yaitu 65536
98304 - 65536 = 32768. Sudah masuk jangkauan unsigned int ? Sudah ! Stop. Maka outputnya ialah 32768.

LONG INTEGER

Singkatnya, tipe data long integer bahwasanya hampir sama dengan tipe data integer. Hanya yang membedakan jangkauannya saja. Kalau tipe data long integer mempunyai jangkauan antara -2147483648 sampai 2147483647 untuk signed long integer. Sedangkan untuk unsigned long integer mempunyai jangkauan antara 0 sampai 4294967295.

Banyak sekali ya ? Tapi singkat saja, bahwasanya di dalam long integer juga ada 2 macam yaitu signed dan unsigned, untuk jangkauannya sudah dijelaskan diatas. Untuk nilai yang over atau melebihi batas, maka nilainya akan dikurangi dengan 4294967295 (total kemungkinan long integer) . Demikian juga halnya pada integer. Jika ada integer yang melebihi batas maka akan dikurangi dengan total kemungkinan integer sampai masuk kedalam jangkauan pada tipe data tersebut.

Kesimpulan

Jadi, sanggup kita simpulkan bahwa walaupun kita mendeklarasikan signed atau unsigned intinya kombinasi dari bilangan binernya sama kok. Cuman yang membedakannya ketika kita ingin mencetak dengan format %i (signed int) atau %u (unsigned int). Praktis kan ?
Sekian untuk klarifikasi dari tipe data integer. Semoga sanggup dimengerti, dipahami, dan dipraktekan. Terimakasih
Sumber http://komputer67.blogspot.com

0 Response to "Tipe Data Integer | Mencar Ilmu Struktur Data C & C++"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel