Tại sao kết quả 2 phép tính dưới đây khác nhau?

Vì sao 2 biểu thức dưới đây lại cho ra kết quả khác nhau ?

long soNam = ( new Date().getTime() )/(1000 * 60 * 60 * 24 * 365);

Kết quả là 1048 => sai.

long soNam = ( new Date().getTime() )/(1000 * 60 * 60 * 24)/365;

Kết quả là 48 => đúng.

Vì phép tính khác nhau!!!

Có tràn số đấy bạn. Nhân 365 lên là 25 tỏi rồi.

1 Like

Mình cũng mới nghĩ ra. Có vẻ Netbeans lưu tạm kết quả biểu thức nhân kia vào một biến Int nên bị tràn số

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?