| Đăng nhập qua LiketLy 

trả lời
  • Câu trả lời được chấp nhận

    Câu hỏi của bạn rất thú vị.

    Nói kết quả của Pascal sai thực ra cũng không chính xác đâu.

    Ta có: -7 = 16 + (-1).23

    Nhưng cũng có: -7 = -7 + 0.23

    Vấn đề ở đây là ta chấp nhận (hay quy ước) phần nguyên của phép chia đó là 0 hay -1 mà thôi.

    Rất nhiều ngôn ngữ lập trình khác cũng quy ước rằng phép chia này có phần dư là -7, ví dụ: Turbo C, Turbo C++, MS Visual C++... Nhiều ứng dụng khác, ví dụ như bản thân phần mềm máy tính Calc đi kèm với Windows cũng chấp nhận phép chia này có phần dư là -7.

    Vì thế, bạn cứ yên tâm sử dụng phép toán mod của Pascal mà không cần phải quá quan tâm chi tiết đó.

    Trong trường hợp muốn thu được kết quả giống với Excel, bạn có thể viết như thế này:

    phandu := sochia mod sobichia;

    thuong := sochia div sobichia;

    if phandu < 0 then

    begin

    phandu := phandu + sobichia;

    thuong := thuong - 1;

    end;

    Trả lời bởi Camdin
    ăm trước
    0 0
Những câu hỏi tương tự
Câu hỏi từ Thể loại Lập trình - Coding