Học C++/Kiểu dữ liệu
< 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ửaKiể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ửaKiể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ửaNgô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;
}