Khi một số nguyên nằm ngoài phạm vi của loại, giá trị tối đa + 1 được cộng/trừ (phụ thuộc vào phần nào của phạm vi số). Ví dụ:Tại sao các chuyển đổi ngầm định hoạt động giống như vậy?
unsigned short num = 65537;
num sẽ có giá trị 1 (65536 được trừ). Câu hỏi của tôi là: tại sao nó lại xảy ra? Trực giác của tôi cho tôi biết nó có liên quan đến cờ mang và cờ tràn, vì giá trị tối đa luôn là 1111 ....
Cảm ơn bạn trước!
Nó cắt ngắn ... – Mehrdad
Ví dụ hoàn hảo về lý do bạn nên biên dịch về cơ bản tất cả các cảnh báo có thể được bật. Về lý do tại sao đó là trong tiêu chuẩn mặc dù .... Không có ý tưởng: p. (Trừ khi bạn có nghĩa là cụ thể 1. Đó chỉ là một lời khen ngợi của 2.) – Corbin
Ví dụ về thông điệp cảnh báo như vậy: 'warning: số nguyên lớn bị cắt ngắn hoàn toàn thành unsigned type' – curiousguy