🌱 Các kiểu dữ liệu - Data Types trong C++
Trong C++, kiểu dữ liệu - data types là cách khai báo cho các biến, nhằm xác định kiểu (đặc điểm) và kích thước của dữ liệu liên quan đến các biến. Ví dụ,
int led_freq = 25;
Ví dụ ở đây led_freq là một biến có kiểu dữ liệu là int, có nghĩa là nó sẽ lưu các số nguyên 2 hoặc 4 bytes.
👉 Các kiểu dữ liệu cơ bản trong C++
Data Type | Ý nghĩa | Size (Bytes) |
---|---|---|
int | Integer | 2 hoặc 4 |
float | Floating-point | 4 |
double | Double Floating-point | 8 |
char | Character | 1 |
wchar_t | Wide Character | 2 |
bool | Boolean | 1 |
void | Empty | 0 |
Dưới đây sẽ đi chi tiết vào các kiểu dữ liệu kể trên.
🄂 Kiểu dữ liệu int
- Kiểu int - integer để chỉ các số nguyên, với kích thước thường là 4 byte (trong các kiến trúc 32-bit của các dòng MCU lõi ARM và trong PC).
- Từ số bit ta có thể tính được dải giá trị của các biến int.
-2147483648 (- 2^31) to 2147483647 (2^31 - 1) - Bit đầu tiên trong 32-bit sẽ được sử dụng làm bit dấu.
🄃 Kiểu dữ liệu float và double
- Hai kiểu dữ liệu float và double đều dùng để lưu trữ các số có dấu phảy động (floating-point), bao gồm số thập phân và số dạng mũ.
- Kích thước của float là 4 bytes, trong khi double là 8 bytes. Do đó, double có độ chính xác gấp 2 lần so với float.
- Ví dụ,
float temperature = 64.74;
double volume = 134.64534;
double distance = 45E12 // 45E12 = 45*10^12
🄄 Kiểu dữ liệu char
- Sử dụng cho các ký tự - characters.
- Kích thước là 1 byte.
- Ví dụ,
char test = 'h';
Lưu ý: Thực tế, các biến kiểu char sẽ lưu trữ các giá trị nguyên, các giá trị này được mã hóa theo bảng mã ASCII, mục đích để thao tác nhập từ bàn phím và hiển thị.
🄅 Kiểu dữ liệu wchar_t
- Tương tự như kiểu dữ liệu char, kích thước của nó sẽ là 2 bytes thay vì 1 byte.
- Được sử dụng để biểu diễn các ký tự cần nhiều bộ nhớ hơn (>1byte) để biểu diễn.
- Giá trị sẽ có thêm ký tự L ở trước.
wchar_t test = L'ם' // storing Hebrew character;
Lưu ý: Ngoài ra còn có thêm 2 kiểu character có kích thước cố định khác trong C++11, đó là char16_t và char32_t.
🄆 Kiểu dữ liệu bool
- Biểu diễn các giá trị boolean - chỉ có 2 giá trị: true hoặc false.
- Thường sử dụng trong các câu lệnh điều kiện và vòng lặp.
- Ví dụ,
bool condition = false;
🄇 Kiểu dữ liệu void
- void là từ khóa chỉ ra việc không có giá trị nào cả.
- void thường dùng cho các hàm và con trỏ.
Lưu ý: Không thể khai báo biến với kiểu dữ liệu void.
👉 C++ Type Modifiers
Trong lập trình nói chung và lập trình C++ nói riêng, đôi khi các kiểu dữ liệu cơ bản nói trên sẽ không phục vụ hết được các ứng dụng, đặc biệt là các ứng dụng liên quan đến Embedded. Chẳng hạn,
- Mong muốn sử dụng các giá trị char > 127, như 0xFF (kiểu char chỉ cho phép giá trị từ -128 đến 127). Tức là không cần dùng bit MSB làm bit dấu. Đặc biệt với các thanh ghi của MCU thì không dùng bit dấu.
- Mong muốn dùng kiểu int, nhưng không dùng hết 4 bytes, lại dùng nhiều hơn 1 byte (khoảng 2 bytes).
- Mong muốn thao tác với số nguyên > 4 bytes.
- Và rất nhiều ví dụ khác.
➥ Có 4 loại Type Modifier trong C++,
- signed
Biểu diễn kiểu dữ liệu có dấu, mặc định các kiểu dữ liệu int / double / char sẽ có kiểu dữ liệu signed. Với kiểu dữ liệu này, bit MSB của số sẽ được sử dụng làm bit dấu (1 biểu thị cho số âm và 0 biểu thị cho số dương), và giá trị của biến sẽ được biểu diễn theo mã bù 2. - unsigned
Biểu diễn kiểu dữ liệu không dấu, tất cả các bit đều biểu diễn value và giá trị nhỏ nhất sẽ là 0. - short
Biểu diễn số nguyên dưới dạng "tiết kiệm bộ nhớ", với việc chỉ tốn 2 bytes. Có thể sử dụng kết hợp với từ khóa unsigned. - long
Biểu diễn các số dưới dạng "mở rộng bộ nhớ". - Kết hợp với int - long long = số nguyên 8 bytes.
- Kết hợp với double - long double = dấu phẩy động 12 bytes.
👉 C++ Derived Data Types
Các kiểu dữ liệu được tạo ra từ các kiểu dữ liệu cơ bản - Derived Data Types. Các kiểu dữ liệu có thể kể đến như: Array, Struct, Pointer, ...
Các kiểu dữ liệu này sẽ được giới thiệu ở những bài hướng dẫn sau!
>>>= Follow ngay =<<<