Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các công cụ sửa đổi kiểu và cách sử dụng chúng trong lập trình C ++ với sự trợ giúp của các ví dụ.
Trong lập trình C ++, các công cụ sửa đổi kiểu được sử dụng để thay đổi ý nghĩa của các kiểu dữ liệu cơ bản.
Có bốn công cụ sửa đổi kiểu trong C ++.
short
long
signed
unsigned
Đây là một bản tóm tắt ngắn gọn:
Loại dữ liệu | Kích thước (tính bằng byte) | Ý nghĩa |
---|---|---|
signed int | 4 | được sử dụng cho số nguyên (tương đương với int ) |
unsigned int | 4 | chỉ có thể lưu trữ duy nhất các số nguyên không âm |
short | 2 | được sử dụng cho các số nguyên nhỏ (phạm vi -32768 đến 32767 ) |
long | ít nhất 4 | được sử dụng cho các số nguyên lớn (tương đương với long int ) |
unsigned long | 4 | được sử dụng cho các số nguyên dương lớn hoặc 0 (tương đương với unsigned long int ) |
long long | số 8 | được sử dụng cho số nguyên rất lớn (tương đương với long long int ). |
unsigned long long | số 8 | được sử dụng cho số nguyên dương rất lớn hoặc 0 (tương đương với unsigned long long int ) |
long double | số 8 | được sử dụng cho các số dấu phẩy động lớn |
signed char | 1 | được sử dụng cho các ký tự (phạm vi đảm bảo -127 đến 127 ) |
unsigned char | 1 | được sử dụng cho các ký tự (phạm vi 0 đến 255 ) |
Loại ngắn Modifier
Chúng ta có thể sử dụng short
cho các số nguyên nhỏ (trong phạm vi −32,767
đến +32,767
).
Ví dụ,
// small integer short a = 12345;
Ở đây, a là một short
biến số nguyên.
Lưu ý: short
tương đương với short int
.
Công cụ sửa đổi loại dài
Nếu chúng ta cần lưu trữ một số nguyên lớn (trong phạm vi -2147483647 đến 2147483647), chúng ta có thể sử dụng trình định kiểu long
. Ví dụ,
// large integer long b = 123456;
Lưu ý: long
tương đương với long int
.
Công cụ sửa đổi kiểu dài cũng có thể được sử dụng với double
các biến.
// large floating-point number long double c = 0.333333333333333333L;
Lưu ý: Để biểu thị long double
, chúng tôi sử dụng L
hậu tố. Nếu chúng tôi không sử dụng hậu tố L
, thì đó là double
giá trị được chuyển đổi thành long double
(có thể dẫn đến mất dữ liệu).
dài dài
long
có thể lặp lại hai lần để tạo long long
kiểu. Loại này được sử dụng cho số lượng lớn hơn long
. long long
chỉ có thể sử dụng công cụ sửa đổi loại int
.
Ví dụ,
// long long int long long num = 12345678;
Bộ sửa đổi đã ký và chưa ký
Các biến có dấu có thể chứa cả số nguyên dương và âm, bao gồm cả số không . Ví dụ,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Đây,
- x chứa một số nguyên có giá trị dương
- y chứa một số nguyên có giá trị âm
- z chứa một số nguyên có giá trị bằng 0
Ghi chú:
- Theo mặc định, số nguyên là
signed
. Do đó, thay vìsigned
int
, chúng tôi có thể trực tiếp sử dụngint
. signed
và unsigned chỉ có thể được sử dụng với kiểu int và char.
Các biến không có dấu chỉ có thể chứa các giá trị nguyên không âm. Ví dụ,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Đây,
- x chứa một số nguyên có giá trị dương
- y không
Nói chung, một int
biến có thể lưu trữ phạm vi giá trị từ -2,147,483,648 đến 2,147,483,647 . Trong khi đó, một unsigned in
biến t có thể lưu trữ một dải giá trị từ 0 đến 4,294,967,295 .
char có dấu, không dấu và đơn giản
C ++ có 3 loại char khác nhau: char
, signed char
và unsigned char
. Trong thực tế, về cơ bản chỉ có 2 loại: signed char
và unsigned char
.
Điều này là do mặc dù char
không giống signed char
hoặc unsigned char
trong C ++ tiêu chuẩn, các trình biên dịch khác nhau xử lý char
theo một trong hai signed char
hoặc unsigned char
theo sở thích riêng của họ.
Lưu ý: Khi chúng ta chỉ sử dụng char
thay thế cho signed char
hoặc unsigned char
, kiểu này được gọi là char thuần .
Như bạn có thể đoán, signed char
có thể lưu trữ cả số nguyên dương và âm, trong khi unsigned char
chỉ có thể lưu trữ số nguyên dương (bao gồm cả 0 ).
Các đảm bảo hàng loạt các số nguyên giá trị signed char
có thể lưu trữ là -127 đến 127 trong khi phạm vi unsigned char
là 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;
Đây,
- trơn_1 chứa một số nguyên có giá trị dương
- trơn_2 chứa một số nguyên có giá trị bằng 0
- sin_1 chứa một số nguyên có giá trị dương
- sin_2 chứa một số nguyên có giá trị bằng 0
- sin_3 giữ một số nguyên có giá trị âm
- unsin_1 giữ một số nguyên có giá trị âm
- unsin_2 giữ một số nguyên có giá trị bằng 0
Lưu ý: Tốt hơn là không sử dụng ký tự thuần để thực hiện các thao tác số; char có dấu hoặc char không dấu nên được sử dụng để thay thế. Char thuần chỉ nên được sử dụng để lưu trữ các giá trị ký tự.