Ép kiểu là phương pháp để biến đổi một biến chuyển từ kiểu dữ liệu này sang trọng kiểu dữ liệu khác. Ví dụ, khi bạn có nhu cầu lưu trữ một giá trị long cho một số số nguyên, bạn phải ép vẻ bên ngoài long thành int.

Trong C chúng ta có thể chuyển thay đổi giá trị từ một kiểu này sang trọng một vẻ bên ngoài khác sử dụng toán tử xay kiểu như sau:

(ten-kieu) bieu_thuc
Xem xét lấy ví dụ như sau mà toán tử ép đẳng cấp làm cho phép chia một đổi mới nguyên được triển khai như là một chuyển động dấu chấm động:

#include main() int sochia = 32, sobichia = 6; double kq; kq = (double) sochia / sobichia; printf("Gia tri cua kq la: %f ", kq ); printf(" =========================== "); printf("Hoc
Lap
Trinh chuc cac ban hoc tot! "); Khi triển khai đoạn code, tác dụng sau phía trên được in ra, thay đổi kq có kiểu double:

Biên dịch và thực thi chương trình C trên vẫn cho hiệu quả sau:

*

Nên ghi ghi nhớ rằng ở đây toán tử nghiền kiểu tất cả quyền ưu tiên hơn phép chia, vì thế giá trị của sochia trước tiên được chuyển đổi sang hình trạng double và ở đầu cuối nó tiến hành chia bởi đo lường và tính toán trong trường cực hiếm double.

Bạn đang xem: Bài 15: ép kiểu dữ liệu trong lập trình c

Biến thay đổi kiểu rất có thể là được ẩn đi tức là được thực hiện auto bởi cỗ biên dịch, hoặc nó hoàn toàn có thể được xác minh một cách rõ ràng bởi sử dụng toán tử xay kiểu. Nó là tốt cho chính mình nên sử dụng toán tử ép dạng hình ở bất cứ đâu cơ mà cần biến đổi kiểu.

Sự upgrade số nguyên trong C

Sự upgrade số nguyên là quá trình mà các giá trị của số nguyên nhỏ hơn int hoặc unsigned int biến hóa thành hình trạng int hoặc unsigned int. đưa sử các bạn có lấy một ví dụ về bài toán thêm một ký tự vào một số int:

#include main() int i = 21; char c = "c"; /* Gia tri ASCII la 99 */ int tong; tong = i + c; printf("Gia tri cua tong la: %d ", tong ); printf(" =========================== "); printf("Hoc
Lap
Trinh chuc cac ban hoc tot! "); Biên dịch và triển khai chương trình C trên đang cho kết quả sau:

*

Ở đây, quý hiếm của biến đổi tong là 120 bởi vì trình biên dịch triển khai sự tăng cấp số nguyên và biến hóa giá trị "c" thành ACII trước khi triển khai phép toán thêm.

Phép biến đổi số học tập thông thường

Phép biến đổi số học thông thường là biện pháp ép mẫu mã giá trị của nó thành một mẫu mã thường dùng. Trình biên dịch thứ nhất sẽ tiến hành nâng cấp cho số nguyên, nó biến hóa từ thấp cho cao, dưới đây là thứ bậc:

*

Phép thay đổi số học thường thì không được triển khai cho các toán tử gán, cho những toán tử logic: && với ||. Chúng ta theo dõi lấy ví dụ sau nhằm hiểu quan niệm này:

#include main() int i = 21; char c = "c"; /* Gia tri ASCII la 99 */ float tong; tong = i + c; printf("Gia tri cua tong la: %f ", tong ); printf(" =========================== "); printf("Hoc
Lap
Trinh chuc cac ban hoc tot! ");Biên dịch và thực thi chương trình C trên đã cho hiệu quả sau:

*

Ở đây, cách đơn giản dễ dàng để gọi là trước tiên giá trị c chuyển thành số nguyên, nhưng cũng chính vì giá trị cuối cùng là double, chính vì như vậy phép biến hóa số học thường thì áp dụng và bộ biên dịch đổi khác i cùng c thành hình trạng float với lấy kết quả phép cộng đưa sang thứ hạng float.

Trong nội dung bài viết này bọn họ sẽ cùng đi tìm hiểu về cách thức ép kiểu tài liệu trong xây dựng C/C++.

Ép kiểu tài liệu trong lập trình C/C++

Ép hình trạng dữ liệu tức là câu hỏi gán cực hiếm của một biến gồm kiểu dữ liệu này tới biến hóa khác tất cả kiểu tài liệu khác.

Ta tất cả cú pháp thông thường ép đẳng cấp như sau:

(type) value;Với type là dạng hình dữ liệu, cùng value là quý giá hoặc 1 đổi thay chứa dữ liệu.


Ép giao diện số nguyên sang trọng số thực cùng ngược lại

Kiểu dữ liệu số thì tất cả 2 kiểu cơ bản là số thực(float, double) và số nguyên(int, long, long). Bọn họ đã có kết cấu chung cho bài toán ép kiểu, vậy hãy thuộc thực hiện một số trong những ví dụ sau.

Ép phong cách số thực thanh lịch 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("
Ep keu thanh keiu so nguyen int: %d", b);printf("
Kieu so nguyen long long: %d", c);
Kết quả

Kieu so thuc: 5.235Ep keu thanh keiu so nguyen int: 5Kieu so nguyen long long: 5Ép đẳng cấp số nguyên thanh lịch số thực


#include int main()int a = 10;float b = (float)a;double c = (double)a;printf("Kieu so nguyen: %d", a);printf("
Ep kieu sang trọng so thuc float: %f", b);printf("
Kieu so thuc double: %f", c);
Kết quả

Kieu so nguyen: 10Ep kieu thanh lịch so thuc float: 10.00000Kieu so thuc double: 10.0000

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

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


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

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

(Hehe ở vị trí này chúng ta chú y một chút là mình sẽ cần sử dụng từ là ký kết tự số với số nhé)

Trong bảng mã ASCII thì ký tự số sẽ sở hữu mã thập phân là trường đoản cú 48 tương ứng với ký trường đoản cú 0, tính đến 57 khớp ứng với ký tự 9.

Xem thêm: Bật mí 2 cách kiểm tra ip máy tính nhanh nhất mà bạn nên biết

*

Về blog Tui có cách


TUI CÓ CÁCH là blog cá thể xây dựng nhằm share các năng lực lập trình, thủ thuật đồ vật tính, thủ thuật điện thoại, kỹ năng và kiến thức kiếm chi phí online nhưng mà tôi nghe biết với cùng đồng.


Kết nối cùng với tôi


Blogger
Facebook
Mail
Twitter
Youtube

cdvhnghean.edu.vn · bảo vệ nội dung bởi vì DMCA.com Protection Status