kiểu dữ liệu như tên người ,không ép thì nó không có tên,không có tên thì máy hiểu thế nào
Mình muốn biết tại sao trong C cần phải ép kiểu dữ liệu
Đã được chỉnh sửa lần cuối bởi rox_rook : 27-09-2008 lúc 11:29 AM.
kiểu dữ liệu như tên người ,không ép thì nó không có tên,không có tên thì máy hiểu thế nào
Cậu nói vậy chung chung quá, cậu có ví dụ không ? C++ cũng có ép kiểu vậy. Có nhiều trường hợp nó implicit cast nhưng có nhiều trường hợp phải explicit cast qua thì mới được.
Cậu chú ý đặt tiêu đề rõ ràng, hỏi cái gì ? Còn cậu mới học hay học lâu rùi thì có liên quan gì đến topic này ?
Có một VD cần phải ép kiểu như này:
C Code:
int a,b,c; a=5;b=4; c=a/b;
- Trong vd trên, toán tử '/' đóng vai trò là phép chia lấy phần nguyên, kết quả nhận được c=1; bây giờ ta muốn kết quả là một số thập phần c=1.25 thì phải ép kiểu.
C Code:
int a,b;float c; a=5;b=4; c=float(a)/b;
- Có các cách ép kiểu khác a/float(b); và float(a)/float(b); khi học C++ sẽ có cách ép kiểu của C++, cái đó tính sau.
*Trong các bài cụ thể khi cần thiết thì ta sẽ dùng ép kiểu.
Have fun!
@TrinhNgocIT: Trong các ngôn ngữ lập trình thì mỗi kiểu dữ liệu có một cách lưu trữ khác nhau (có một kích thước khác nhau). Cho nên cần phải ép kiểu về một kiểu.
ví dụ: int*int thì ra kiểu int. nhưng có khi kết quả trả về của phép toán trên vượt khỏi phạm vi kích thước của kiểu int. cho nên có yêu cầu là đưa nó về kiểu nào khác ví như kiểu long chẳng hạn.
một khi cần ép sang kiểu số thực thì zkday thường hay dùng ép kiểu như thế này nè
C Code:
int a,b; a=5; b=6; double c; c = (a/b)*1.0;
-- Thân
Đã được chỉnh sửa lần cuối bởi zkday2686 : 27-09-2008 lúc 06:36 PM.
Cho mình hỏi là số long int chỉ có 10 chữ số. Nếu mình xử lý số nguyên hơn 10 chữ số như 11,12 thì làm cách nào vậy :-< mình phải gán nó như thế nào đây :((
Nothing is impossible.
ép sang float, double để lưu còn muốn hiển thị rõ ra cả 11,12,1... số thì dùng mảng, chuỗi, DSLK , v.v....
code ra gió bão