Để biết thêm chi tiết câu trả lời. Hãy xem phần §5 / 9 từ Tiêu chuẩn C ++ nói gì
Nhiều toán tử nhị phân mong đợi toán hạng của loại số học hoặc liệt kê gây ra chuyển đổi và mang lại các loại kết quả theo cách tương tự. Mục đích là để mang lại một loại phổ biến,
cũng là loại kết quả .
Mẫu này được gọi là chuyển đổi số học thông thường, được định nghĩa như sau:
- Nếu một trong hai toán hạng có kiểu dài gấp đôi, thì toán hạng kia sẽ được chuyển thành dài gấp đôi.
- Mặt khác, nếu một trong hai toán hạng là gấp đôi, thì toán tử kia sẽ được chuyển đổi thành gấp đôi.
- Mặt khác, nếu một trong hai toán hạng là float, thì cái kia sẽ được chuyển thành float.
- Mặt khác, các chương trình khuyến mãi tích hợp (4.5) sẽ được thực hiện trên cả hai toán hạng.54)
- Sau đó, nếu một trong hai toán hạng không được ký dài thì cái kia sẽ được chuyển thành dài không dấu.
- Mặt khác, nếu một toán hạng là một int dài và int không dấu khác, thì nếu một int dài có thể biểu thị tất cả các giá trị của một int unsign, int unsign sẽ được chuyển đổi thành int dài; mặt khác, cả hai toán hạng sẽ được chuyển đổi thành int dài không dấu.
- Mặt khác, nếu một toán hạng dài, thì toán hạng kia sẽ được chuyển thành dài.
- Mặt khác, nếu một trong hai toán hạng không được ký thì cái kia sẽ được chuyển thành không dấu.
[Lưu ý: mặt khác, trường hợp duy nhất còn lại là cả hai toán hạng là int]
^
là XOR.