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 ạ?

*grab popcorn* viết 19:14 ngày 01/10/2018

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

Le Ly Vinh viết 19:18 ngày 01/10/2018

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?

rogp10 viết 19:09 ngày 01/10/2018

nhập giới hạn a vượt quá int

Đầ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

Bài liên quan
0