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ỉ?
*grab popcorn* viết 11:10 ngày 01/10/2018

// = 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ả

SilverBullet viết 11:01 ngày 01/10/2018

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

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

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

Bài liên quan
0