01/10/2018, 17:06
Tự chuyển kiểu trong C++
Mình đọc 1 số nguồn có nói C++ tự chuyển đổi kiểu khi gán phép tính trong C++.
Ví dụ: mình có:
int a;
cin>>a;
long long b;
b=a*a;
thì khi mình nhập giới hạn a vượt quá int thì kết quả bị sai, mình đã thử sửa:
b=(long long)a*a;
nhưng kết quả vẫn sai, cho mình hỏi vậy sự thật là sao ạ?
Bài liên quan
Nếu casting sai thì chắc kiểu long long ở hệ thống của bạn không hỗ trợ 64bit? Hoặc bạn đang chạy file cũ O_O
Chứ mình test theo code bạn đúng rùi

Vậy thì bình thường nếu không bỏ long long thì nó không tự cast đúng không bạn?
Đầu tiên bạn phải tìm sizeof(int) và sizeof(long long) trên máy còn nhập quá int thì ko thể nào đúng