Chuyển đổi kiểu

Trong khoa học máy tính, chuyển đổi kiểu, ép kiểu, ép kiểu dữ liệu (tiếng Anh: type coercion), và định dạng kiểu (tiếng Anh: type juggling) là những cách khác nhau của việc thay đổi một biểu thức của một kiểu dữ liệu sang một kiểu khác. Ví dụ, chuyển đổi một giá trị số nguyên thành một giá trị số thực dấu phẩy động hoặc đại diện văn bản của nó dưới dạng chuỗi và ngược lại. Chuyển đổi kiểu có thể tận dụng các đặc điểm nhất định của phân cấp kiểu hay trình bày dữ liệu. Hai khía cạnh quan trọng của chuyển đổi kiểu là liệu nó diễn ra ngầm (implicitly) hay tường minh (explicitly), và liệu thể hiện dữ liệu bên dưới được chuyển đổi từ dạng này sang sang dạng kia chỉ đơn thuần là biên dịch lại (reinterpreted) như là thể hiện của kiểu dữ liệu kia.

Nhìn chung, cả kiểu dữ liệu cơ bản và phức hợp đều có thể chuyển đổi. Mỗi ngôn ngữ lập trình có các quy tắc riêng để chuyển đổi kiểu. Ngôn ngữ với kiểu mạnh thường ít chuyển đổi ngầm và không khuyến khích biên dịch sự thể hiện, trong khi ngôn ngữ với kiểu yếu thực hiện nhiều chuyển đổi ngầm giữa các kiểu dữ liệu. Ngôn ngữ kiểu yếu thường cho phép ép buộc biên dịch tùy ý giải thích một mục dữ liệu như có các đại diện khác nhau; điều này có thể là một lỗi lập trình không rõ ràng, hoặc một phương pháp kỹ thuật để thực hiện trực tiếp với phần cứng.

Tham khảo

Liên kết ngoài 
 Casting in ABAP
 Casting in Ada
 Casting in C++
 C++ Reference Guide Why I hate C++ Cast Operators, by Danny Kalev
 Casting in Java
 Implicit Conversions in C#
 Implicit Type Casting at Cppreference.com
 Static and Reinterpretation castings in C++ 
 Upcasting and Downcasting

Kiểu dữ liệu
Toán tử (lập trình)
Lý thuyết kiểu