Ép kiểu trong C++
Ép kiểu là cách để chuyển đổi một biến từ kiểu dữ liệu này sang kiểu dữ liệu khác. Ví dụ, khi bạn muốn lưu trữ một giá trị long cho một số số nguyên, bạn phải ép kiểu long thành int. Trong bài viết dưới đây, eLib.VN sẽ giới thiệu đến bạn đọc cách ép kiểu trong C++. Cùng theo dõi nhé!
Mục lục nội dung
1. Ép kiểu trong C++
Ép kiểu trong C++ là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác.
Cú pháp:
(type) value;
Ví dụ:
float c = 35.8f;
int b = (int)c + 1;
Trong ví dụ trên, đầu tiên giá trị dấu phảy động c được đổi thành giá trị nguyên 35. Sau đó nó được cộng với 1 và kết quả là giá trị 36 được lưu vào b.
2. Phân loại ép kiểu trong C++
Trong C++, có hai loại ép kiểu dữ liệu:
- Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin.
- Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin
Nới rộng (widening)
Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin. Ví dụ chuyển từ int sang float. Chuyển kiểu loại này có thế được thực hiện ngầm định bởi trình biên dịch.
Ví dụ:
#include <iostream>
using namespace std;
int main() {
int i = 100;
long l = i; // khong yeu cau chi dinh ep kieu
float f = l; // khong yeu cau chi dinh ep kieu
cout << "Gia tri Int: " << i << endl;
cout << "Gia tri Long: " << l << endl;
cout << "Gia tri Float: " << f << endl;
return 0;
}
Giá trị Int: 100
Giá trị Long: 100
Giá trị Float: 100
Thu hẹp (narrowwing)
Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin như ví dụ ở trên. Chuyển kiểu loại này không thể thực hiện ngầm định bởi trình biên dịch, người dùng phải thực hiện chuyển kiểu tường minh.
Ví dụ:
#include <iostream>
using namespace std;
int main() {
double d = 100.04;
long l = (long) d; // yeu cau chi dinh kieu du lieu (long)
int i = (int) l; // yeu cau chi dinh kieu du lieu (int)
cout << "Gia tri Double: " << d << endl;
cout << "Gia tri Long: " << l << endl;
cout << "Gia tri Int: " << i << endl;
return 0;
}
Giá trị Double: 100.04
Giá trị Long: 100
Giá trị Int: 100
Trên đây là bài viết của eLib.VN về ép kiểu trong C++. Việc ép kiểu giúp dữ liệu linh hoạt hơn và chạy nhanh hơn trong quá trình biên dịch. Bạn đọc cần nghiên cứu và thực hành nhiều. Chúc các bạn thành công!
Tham khảo thêm
- doc Cài đặt môi trường lập trình C++
- doc Chương trình C++ đầu tiên
- doc Biến trong C++
- doc Kiểu dữ liệu trong C++
- doc Toán tử trong C++
- doc Từ khóa và comment trong C++
- doc Hằng số trong C++
- doc cout, cin và endl trong C++
- doc Ký tự đặc biệt trong C++
- doc Namespace trong C++
- doc Template trong C++
- doc Modifier trong C/C++