Ép kiểu dữ liệu trong lập trình C/C++

Trong bài viết này tất cả chúng ta sẽ cùng đi khám phá về giải pháp ép kiểu tài liệu trong Lập trình C / C + + .

Ép kiểu dữ liệu trong lập trình C/C++

Ép kiểu dữ liệu tứ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.

Ta có cú pháp chung ép kiểu như sau:

(type) value;

Với type là kiểu dữ liệu, và value là giá trị hoặc 1 biến chứa dữ liệu.

Ép kiểu số nguyên sang số thực và ngược lại

Kiểu tài liệu số thì có 2 kiểu cơ bản là số thực ( float, double ) và số nguyên ( int, long, long ). Chúng ta đã có cấu trúc chung cho việc ép kiểu, vậy hãy cùng triển khai một số ít ví dụ sau .

Ép kiểu số thực sang số nguyên

#include 
int main()
{
	float a = 5.235;
	int b = (int)a;
	long long c = (	long long)a;
	printf("Kieu so thuc: %f", a);
	printf("\nEp keu thanh keiu so nguyen int: %d", b);
	printf("\nKieu so nguyen long long: %d", c);
}

Kết quả

Kieu so thuc: 5.235
Ep keu thanh keiu so nguyen int: 5
Kieu so nguyen long long: 5

Ép kiểu số nguyên sang số thực

#include 
int main()
{
	int a = 10;
	float b = (float)a;
	double c = (double)a;
	printf("Kieu so nguyen: %d", a);
	printf("\nEp kieu sang so thuc float: %f", b);
	printf("\nKieu so thuc double: %f", c);
}

Kết quả

Kieu so nguyen: 10
Ep kieu sang so thuc float: 10.00000
Kieu so thuc double: 10.0000

Ép kiểu số nguyên sang ký tự và ngược lại

Trong C/C++ thì char là kiểu dữ liệu ký tự, về bản chất thì nó cũng gần giống như int thế nhưng char sẽ không thể lưu giá trị âm. Giá trị mà nó có thể lưu là từ 0 cho tới 255 tương ứng với 8 bit, tức là 1 byte và sẽ được hiển thị dưới dạng là ký tự tương ứng với bảng mã ASCII.

#include 
int main()
{
	char  a = 'H';
	printf("INT: %d", a);
	printf("\nKy tu: %c", a);
}

Kết quả :

INT: 72
Ky tu: H

Trong bảng mã ASCII ký tự H trong hệ thập phân là 72, tương ứng biến a đang mang giá trị 72, và để in ký tự của a ta sẽ sử dụng % c .

Vậy làm thế nào để ép 1 ký tự số thành 1 số, và từ 1 số sang 1 ký tự số.

(Hehe ở phần này bạn chú y một chút là mình sẽ dùng từ là ký tự số với số nhé)

Trong bảng mã ASCII thì ký tự số sẽ có mã thập phân là từ 48 tương ứng với ký tự 0, cho tới 57 tương ứng với ký tự 9.

Ép kiểu dữ liệu trong lập trình C/C++

Như vậy để chuyển 1 ký tự số thành số ta chỉ cần trừ 48 tương ứng trong bảng mã ASCII, và ngược lại để chuyển số thành ký tự số ta sẽ cộng 48.

Ta có ví dụ sau:

Chuyển ký tự số ‘ 5 ’ thành số 5 .

#include 
int main()
{
	char  a = '5';
	int b = a - 48;
	printf("\nKet qua: %d", b);
}

Kết quả :

Ket qua: 5

Ngược lại ta thử chuyển số 7 thành ký tự 7

#include 
int main()
{
	int  a = 7;
	int b = a + 48;
	printf("\nKet qua: %c", b);
}
Ket qua: 7

[Xem tất cả bài viết chủ đề C/C++ tại đây]

0
0
Phiếu bầu chọn

Xếp hạng bài viết