Pengubah Jenis C ++: pendek, panjang, bertanda tangan dan tidak bertanda tangan

Dalam tutorial ini, kita akan belajar tentang pengubah tipe dan cara menggunakannya dalam pemrograman C ++ dengan bantuan contoh.

Dalam pemrograman C ++, pengubah tipe digunakan untuk mengubah arti dari tipe data fundamental.

Ada empat jenis pengubah di C ++.

  • short
  • long
  • signed
  • unsigned

Berikut ringkasan singkatnya:

Tipe data Ukuran (dalam Bytes) Berarti
signed int 4 digunakan untuk bilangan bulat (setara dengan int)
unsigned int 4 hanya dapat menyimpan bilangan bulat non-negatif
short 2 digunakan untuk bilangan bulat kecil (kisaran -32768 hingga 32767 )
long setidaknya 4 digunakan untuk bilangan bulat besar (setara dengan long int)
unsigned long 4 digunakan untuk bilangan bulat positif besar atau 0 (setara dengan unsigned long int)
long long 8 digunakan untuk bilangan bulat yang sangat besar (setara dengan long long int).
unsigned long long 8 digunakan untuk bilangan bulat positif yang sangat besar atau 0 (setara dengan unsigned long long int)
long double 8 digunakan untuk bilangan floating-point besar
signed char 1 digunakan untuk karakter (kisaran dijamin -127 hingga 127 )
unsigned char 1 digunakan untuk karakter (rentang 0 hingga 255 )

Modifier tipe pendek

Kita bisa gunakan shortuntuk bilangan bulat kecil (dalam kisaran −32,767sampai +32,767).

Sebagai contoh,

 // small integer short a = 12345;

Di sini, a adalah shortvariabel integer.

Catatan: short sama dengan short int.

Pengubah Jenis panjang

Jika kita perlu menyimpan bilangan bulat besar (dalam kisaran -2147483647 hingga 2147483647), kita dapat menggunakan penentu tipe long. Sebagai contoh,

 // large integer long b = 123456;

Catatan: long sama dengan long int.

Pengubah tipe panjang juga dapat digunakan dengan doublevariabel.

 // large floating-point number long double c = 0.333333333333333333L;

Catatan: Untuk menunjukkan long double, kami menggunakan Lsufiks. Jika kita tidak menggunakan sufiks L, itu adalah doublenilai yang akan dikonversi long double(yang dapat mengakibatkan hilangnya data).

Panjang panjang

longdapat diulang dua kali untuk membuat long longtipe. Jenis ini digunakan untuk angka yang lebih besar dari long. long longpengubah tipe hanya dapat digunakan dengan int.

Sebagai contoh,

 // long long int long long num = 12345678;

Pengubah bertanda tangan dan tak bertanda tangan

Variabel bertanda tangan dapat memiliki bilangan bulat positif dan negatif termasuk nol . Sebagai contoh,

 // positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;

Sini,

  • x memegang integer bernilai positif
  • y memegang integer bernilai negatif
  • z memegang bilangan bulat bernilai nol

catatan:

  • Secara default, bilangan bulat adalah signed. Karenanya alih-alih signed int, kita bisa langsung menggunakan int.
  • signed dan unsigned hanya dapat digunakan dengan tipe int dan char.

The variabel unsigned dapat menyimpan nilai integer hanya non-negatif. Sebagai contoh,

 // positive valued integer unsigned int x = 2; unsigned int y = 0;

Sini,

  • x memegang integer bernilai positif
  • y memegang nol

Secara umum, intvariabel dapat menyimpan kisaran nilai dari -2.147.483.648 hingga 2.147.483.647 . Sedangkan unsigned invariabel t dapat menyimpan rentang nilai dari 0 hingga 4,294,967,295 .

ditandatangani, unsigned dan char biasa

C ++ memiliki 3 berbeda jenis arang: char, signed chardan unsigned char. Dalam praktiknya, pada dasarnya hanya ada 2 jenis: signed chardan unsigned char.

Ini karena meskipun chartidak sama dengan signed charatau unsigned chardalam C ++ standar, kompiler yang berbeda memperlakukan charsalah satu signed charatau unsigned charsesuai dengan preferensinya sendiri.

Catatan: Saat kita hanya menggunakan charsebagai pengganti signed charatau unsigned char, tipe ini dikenal sebagai karakter biasa .

Seperti yang sudah Anda duga, signed chardapat menyimpan bilangan bulat positif dan negatif, sementara unsigned charhanya dapat menyimpan bilangan bulat positif (termasuk 0 ).

The dijamin jangkauan integer nilai-nilai signed chardapat menyimpan adalah -127 sampai 127 sedangkan kisaran unsigned charadalah 0 sampai 255 .

 // plain char char plain_1 = 65; char plain_2 = 0; // plain char with negative value // might cause problems with some compilers char plain_3 = -56; // signed char signed char sin_1 = 12; signed char sin_2 = 0; signed char sin_3 = -12; // unsigned char unsigned char unsin_1 = -85; unsigned char unsin_2 = 0;

Sini,

  • plain_1 memegang bilangan bulat bernilai positif
  • plain_2 memegang bilangan bulat bernilai nol
  • sin_1 memegang bilangan bulat bernilai positif
  • sin_2 memegang bilangan bulat bernilai nol
  • sin_3 memegang bilangan bulat bernilai negatif
  • unsin_1 memiliki bilangan bulat bernilai negatif
  • unsin_2 memegang bilangan bulat bernilai nol

Catatan: Lebih baik tidak menggunakan karakter biasa untuk melakukan manipulasi numerik; karakter yang ditandatangani atau karakter yang tidak ditandatangani harus digunakan untuk itu. Karakter biasa seharusnya hanya digunakan untuk menyimpan nilai karakter.

Artikel yang menarik...