Bài 3: Kiểu dữ liệu
Các bài toán trong thực tế thường có dữ liệu không chỉ là số nguyên mà còn thuộc nhiều kiểu dữ liệu khác. Mỗi kiểu dữ liệu sẽ khác nhau về cách lưu trữ, công dụng và dung lượng bộ nhớ. Mỗi ngôn ngữ lập trình sẽ cung cấp sẵn các kiểu dữ liệu chuẩn biết sẵn phạm vi lưu trữ, dung lượng bộ nhớ và cách thức làm việc với các phép toán. Các kiểu dữ liệu chuẩn sẽ được trình bày trong bài này.
Kiểu nguyên
Hai kiểu dữ liệu nguyên thường dùng là int và long long, trong đó int là kiểu số nguyên nhỏ (dưới 2 tỷ) và long long là kiểu số nguyên lớn (dưới 9 tỷ tỷ).
Kiểu | Bộ nhớ | Phạm vi giá trị |
---|---|---|
int | 4 byte | Từ -231 đến 232-1 |
long long | 8 byte | Từ -263 đến 263-1 |
Kiểu nguyên chỉ lưu trữ phần nguyên mà không lưu trữ phần thập phân. Khi chia hai số kiểu nguyên, ta sẽ nhận lại một số kiểu nguyên. Do vậy, các kết quả phép chia hai số nguyên sẽ bị bỏ đi phần thập phân, chính là phép chia lấy nguyên, điều này đã được chú ý trong Bài 2.
Kiểu thập phân
Dữ liệu kiểu thập phân lưu trữ cả phần nguyên và phần thập phân. Hai kiểu dữ liệu thập phân thường dùng là float và double, tùy thuộc vào nhu cầu về độ chính xác.
Kiểu | Bộ nhớ | Phạm vi giá trị |
---|---|---|
float | 4 byte | 9 chữ số thập phân |
double | 8 byte | 15 chữ số thập phân |
Kiểu kí tự
Kiểu kí tự trong C++ là char, dùng để lưu trữ một kí tự riêng biệt. Do C++ không có kiểu dữ liệu chuẩn lưu trữ chuỗi kí tự, nên đây sẽ là nền tảng để xây dựng nên kiểu chuỗi (học ở bài 17).
Kiểu | Bộ nhớ | Phạm vi giá trị |
---|---|---|
char | 1 byte | 256 kí tự |
Kiểu char chỉ lưu trữ 256 kí tự trong bảng mã ASCII. Ngoài ra, kiểu char còn được gọi là kiểu nguyên, bởi vì nó cũng lưu trữ các số nguyên từ 0 đến 255 (bản chất là mã số của các kí tự). Kiểu char khi xuất ra màn hình có thể dưới dạng là một kí tự hoặc là một số nguyên, nhưng bản chất đều là cùng một giá trị.
Kiểu logic
Kiểu logic chỉ gồm hai giá trị là Đúng hoặc Sai, trong C++ hai giá trị đó là true và false. Để lưu trữ giá trị logic, người ta sử dụng kiểu bool.
Kiểu | Bộ nhớ | Phạm vi giá trị |
---|---|---|
bool | 1 byte | true hoặc false |
Giá trị logic dùng để điều khiển chương trình bằng các cấu trúc điều khiển (học ở chủ đề 2, bài 7 - 11).