Học C++/Kiểu dữ liệu
Giao diện
< Học C++
Có 4 kiểu dữ liệu cơ sở:
- Kiểu số nguyên
- Kiểu số thực
- Kiểu luận lý (logic)
- Kiểu ký tự
Kiểu số nguyên
[sửa]Kiểu | Độ rộng bit | Dãy giá trị |
---|---|---|
char | 1 byte | –128 tới 127 |
unsigned char | 1 byte | 0 tới 255 |
int | 4 byte | –231 tới 231 – 1 |
unsigned int | 4 byte | 0 tới 232 – 1 |
short int | 2 byte | –215 tới 215 – 1 |
unsigned short int | 2 byte | 0 tới 216 – 1 |
long int | 4 byte | –231 tới –231 – 1 |
unsigned long int | 4 byte | 0 tới 232 – 1 |
Kiểu số thực
[sửa]Kiểu | Độ rộng bit | Dãy giá trị |
---|---|---|
float | 4 byte | 1.401298 x 10-45 tới 3.40282 x 1038 |
double | 8 byte | 4.94066 x 10-324 tới 1.79769 x 10308 |
long double | 8 byte | 4.94066 x 10-324 tới 1.79769 x 10308 |
Kiểu luận lý
[sửa]Đây là kiểu nguyên đặc biệt, mỗi biểu thức luận lý khác 0 là đúng (true), bằng 0 là sai (false). Một biểu thức luận lý luôn trả về một trong hai kết quả là 0 (sai) hoặc 1 (đúng). Để lưu giá trị của một biểu thức luận lý, người ta có thể khai báo biến kiểu bool.
Các phép toán trong biểu thức luận lý:
- Phép and (và, ký hiệu &&): A && B đúng khi cả A và B đều đúng.
- Phép or (hoặc, ký hiệu ||): A || B sai khi cả A và B đều sai.
- Phép not (phủ định, ký hiệu !): !A đúng khi A sai.
Các phép so sánh trong biểu thức luận lý:
- Phép so sánh bằng ==
- Phép so sánh khác !=
- Phép so sánh lớn (>), bé (<), lớn hơn bằng (>=), bé hơn bằng (<=)
Kiểu ký tự
[sửa]Ngôn ngữ C/C++ đều cung cấp 2 kiểu cho việc lưu trữ các ký tự:
- Để lưu ký tự 1 byte (8 bit) dựa trên bảng mã ASCII, ta dùng biến kiểu char hoặc unsigned char
- Để lưu ký tự UTF-16 (ký tự Unicode dạng 16 bit, được lưu dựa trên bảng mã quốc tế), ta dùng biến kiểu wchar_t, chiếm 2 byte bộ nhớ.
Tìm kích cỡ của các kiểu dữ liệu
[sửa]Đoạn code sau sẽ đưa ra kích cỡ chính xác của các kiểu dữ liệu đa dạng trên máy tính:
#include <iostream>
using namespace std;
int main()
{
cout << "Kich co cua char la: " << sizeof(char) << endl;
cout << "Kich co cua int la: " << sizeof(int) << endl;
cout << "Kich co cua short int la: " << sizeof(short int) << endl;
cout << "Kich co cua long int la: " << sizeof(long int) << endl;
cout << "Kich co cua float la: " << sizeof(float) << endl;
cout << "Kich co cua double la: " << sizeof(double) << endl;
cout << "Kich co cua wchar_t la: " << sizeof(wchar_t) << endl;
return 0;
}