การแปลงนี้เป็นแบบพกพาเพียงใด มั่นใจได้หรือไม่ว่าการยืนยันทั้งสองผ่าน
int x = 4<5;
assert(x==1);
x = 4>5;
assert(x==0);
อย่าถามว่าทำไม ฉันรู้ว่ามันน่าเกลียด ขอบคุณ.
assert( 4 < 5);
และassert(!( 4 > 5));
(4 < 5) ? 1 : 0
ว่าฉันต้องการแปลงบูลีนเป็น 0 หรือ 1 จริงๆคอมไพเลอร์ที่ดีน่าจะสร้างรหัสเครื่องเดียวกันและชัดเจนกว่าสำหรับผู้อ่านที่เป็นมนุษย์
assert(x!=0)
คุณสามารถเขียน แม้ว่าบูล (จริง) จะแปลงแบบพกพาเป็น int (1) การยืนยัน "ไม่เท็จ" ก็มีนิพจน์ที่อ่านได้ง่ายกว่า