Thứ Tư, 27 Tháng Mười Một 2024
Trang chủLập trìnhLập trình C/C++Ép kiểu dữ liệu trong lập trình C/C++

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

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

DANH SÁCH BÀI VIẾT
Giải phóng bộ nhớ động trong C/C++ - Hàm free(), delete
Cấp phát bộ trong động C/C++ - malloc, realloc, calloc, new
Ép kiểu dữ liệu trong lập trình C/C++
Cách in bảng mã ASCII trong lập trình C/C++
Đọc xâu từ file và xử lý xâu ký tự lập trình C/C++ - Đọc ghi file - Con trỏ

É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 dữ 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 thực hiện một số ví dụ sau.

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

#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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ình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x