Tôi đã đọc ở nhiều nơi mà tràn số nguyên được xác định rõ trong C không giống như đối tác đã ký.Câu hỏi về hành vi C đối với dòng số nguyên không dấu
Dòng dưới có giống nhau không?
Ví dụ:
unsigned int x = -1; // Does x == UINT_MAX?
Cảm ơn.
Tôi không thể nhớ lại ở đâu, nhưng tôi đọc ở đâu đó số học về các loại tích phân không dấu là mô-đun, vì vậy nếu trường hợp đó là -1 == UINT_MAX mod (UINT_MAX + 1).
Tôi tin rằng thuật ngữ "gạch dưới" chỉ thực sự áp dụng cho các số dấu phẩy động, nơi bạn không thể đại diện cho một số số rất gần bằng không. Số nguyên sẽ không có vấn đề này. – WildCrustacean
@bde Tôi đồng ý rằng đó là một tuyên bố về mặt kỹ thuật chính xác, nhưng thuật ngữ này thường bị quá tải do vi phạm điều kiện biên trên đầu cuối của một hệ thống số. – vicatcu