Pengubah Jenis C ++: pendek, panjang, ditandatangani dan tidak ditandatangani

Dalam tutorial ini, kita akan belajar mengenai pengubah jenis dan cara menggunakannya dalam pengaturcaraan C ++ dengan bantuan contoh.

Dalam pengaturcaraan C ++, pengubah jenis digunakan untuk mengubah makna jenis data asas.

Terdapat empat jenis pengubah dalam C ++.

  • short
  • long
  • signed
  • unsigned

Inilah ringkasan ringkas:

Jenis data Saiz (dalam Bait) Makna
signed int 4 digunakan untuk bilangan bulat (bersamaan dengan int)
unsigned int 4 hanya boleh menyimpan bilangan bulat bukan negatif sahaja
short 2 digunakan untuk bilangan bulat kecil (julat -32768 hingga 32767 )
long sekurang-kurangnya 4 digunakan untuk bilangan bulat besar (bersamaan dengan long int)
unsigned long 4 digunakan untuk bilangan bulat positif besar atau 0 (bersamaan dengan unsigned long int)
long long 8 digunakan untuk bilangan bulat yang sangat besar (bersamaan dengan long long int).
unsigned long long 8 digunakan untuk bilangan bulat positif yang sangat besar atau 0 (bersamaan dengan unsigned long long int)
long double 8 digunakan untuk nombor terapung besar
signed char 1 digunakan untuk watak (julat dijamin -127 hingga 127 )
unsigned char 1 digunakan untuk watak (julat 0 hingga 255 )

Pengubah jenis pendek

Kita boleh menggunakan shortuntuk integer kecil (dalam julat −32,767untuk +32,767).

Sebagai contoh,

 // small integer short a = 12345;

Di sini, a adalah shortpemboleh ubah integer.

Catatan: short bersamaan dengan short int.

Pengubah Jenis panjang

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

 // large integer long b = 123456;

Catatan: long bersamaan dengan long int.

Pengubah jenis panjang juga boleh digunakan dengan doublepemboleh ubah.

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

Catatan: Untuk menunjukkan long double, kami menggunakan Lakhiran. Sekiranya kita tidak menggunakan akhiran L, itu adalah doublenilai yang ditukar menjadi long double(yang boleh mengakibatkan kehilangan data).

panjang lama

longboleh diulang dua kali untuk membuat long longjenis. Jenis ini digunakan untuk bilangan yang lebih besar daripada long. long longpengubah jenis hanya boleh digunakan dengan int.

Sebagai contoh,

 // long long int long long num = 12345678;

Pengubah yang ditandatangani dan tidak ditandatangani

Pemboleh ubah yang ditandakan dapat menahan bilangan bulat positif dan negatif termasuk sifar . Sebagai contoh,

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

Di sini,

  • x memegang integer bernilai positif
  • y memegang integer bernilai negatif
  • z memegang integer bernilai sifar

Catatan:

  • Secara lalai, bilangan bulat adalah signed. Oleh itu signed int, kita boleh menggunakan secara langsung int.
  • signed dan tidak ditandatangani hanya dapat digunakan dengan jenis int dan char.

The pembolehubah unsigned boleh memegang nilai integer sahaja bukan negatif. Sebagai contoh,

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

Di sini,

  • x memegang integer bernilai positif
  • y memegang sifar

In general, an int variable can store a range of values from -2,147,483,648 to 2,147,483,647. Whereas, an unsigned int variable can store a range of values from 0 to 4,294,967,295.

signed, unsigned and plain char

C++ has 3 different char types: char, signed char and unsigned char. In practice, there are basically only 2 types: signed char and unsigned char.

This is because even though char is not the same as signed char or unsigned char in standard C++, different compilers treat char as either signed char or unsigned char according to their own preference.

Note: When we only use char instead of signed char or unsigned char, this type is known as plain char.

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

Yang paling pelbagai integer nilai signed charboleh menyimpan adalah -127 kepada 127 manakala julat unsigned charadalah 0-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;

Di sini,

  • plain_1 mempunyai bilangan bulat bernilai positif
  • plain_2 memegang bilangan bulat bernilai sifar
  • sin_1 mempunyai bilangan bulat bernilai positif
  • sin_2 memegang bilangan bulat bernilai sifar
  • sin_3 memegang integer bernilai negatif
  • unsin_1 memegang bilangan bulat bernilai negatif
  • unsin_2 memegang bilangan bulat bernilai sifar

Catatan: Sebaiknya jangan menggunakan char biasa untuk melakukan manipulasi berangka; char yang ditandatangani atau char yang tidak ditandatangani harus digunakan untuk itu Char biasa hanya boleh digunakan untuk menyimpan nilai watak.

Artikel menarik...