01/10/2018, 08:57
Chia lấy phần nguyên trong Python
Em có 2 hàm sau:
int test(int x, int y)
{
return x / y;
}
Và:
def test(x, y):
return x // y
Khi em gọi `test(15, -4)` thì hàm 1 trả về kết quả là -3, còn hàm 2 lại trả về -4. Em có đọc thì `//` sẽ `Thực hiện phép chia, trong đó kết quả là thương số sau khi đã xóa các chữ số sau dấu phẩy`, thì cũng phải là -3 chứ nhỉ?
Bài liên quan
// = floor division
15 // -4 = floor(15/-4) = floor(-3.75) = -4
Chứ ko ai nói // là phép chia lấy phần nguyên cả
Vậy theo cách hiểu của em thì
floor division
tức là làm tròn về số nguyên lớn nhất nhưng không lớn hơn x có đúng không ạ?floor(x) làm tròn x về số nguyên nhỏ hơn hoặc bằng x chứ không phải lớn hơn.
floor(5.5) = 5
floor(4) = 4
floor(-3) = -3
floor(-10.2) = -11