Giả sử a
và b
đều là loại int
và b
không khác. Xem xét kết quả thực hiện a/b
trong các trường hợp sau đây:Phân tách số nguyên làm tròn với các số âm trong C++
a
vàb
đều không âm.a
vàb
đều là số âm.- Chính xác một trong số đó là số âm.
Trong trường hợp 1, kết quả được làm tròn xuống số nguyên gần nhất. Nhưng tiêu chuẩn nói gì về trường hợp 2 và 3? Một bản nháp cũ tôi tìm thấy trôi nổi trên Internet cho thấy rằng nó phụ thuộc vào việc thực hiện (có, thậm chí cả trường hợp 2) nhưng ủy ban đang nghiêng về hướng làm cho nó luôn luôn 'tròn về phía không.' Có ai biết những gì (mới nhất) tiêu chuẩn nói? Vui lòng chỉ trả lời dựa trên tiêu chuẩn, không phải những gì có ý nghĩa, hoặc những gì trình biên dịch cụ thể làm.
Cơ hội nghiên cứu đáng kinh ngạc với bản chất trang 1200 của tiêu chuẩn. Tôi sẽ cung cấp cho nó một grep nhanh chóng và bỏ :) –