งงกับ bitwise ใน c# ครับ

1)    Console.WriteLine( 1101 & 1011 );   ทำไมได้ 65 ครับ


2) Console.WriteLine( 1101 | 1011 );    ทำไมได้ 2047 ครับ


3)        int x = 30;
            x &= x - 1;     ทำไมได้   28 ครับ
            x &= x - 1;    ทำไมได้  24 ครับ
            x &= x - 1;    ทำไมได้  16 ครับ
            x &= x - 1;    ทำไมได้  0 ครับ


4)    int x = 30;
            x |= x - 1;      ทำไมได้   31  ครับ

5)   Console.WriteLine( 1110 ^ 1010 );        ทำไมได้    1956 ครับ


ช่วยอธิบายการคิดของแต่ละข้อแบบละเอียดด้วยนะครับ
ผม run ของ c# นะครับ
ขอบคุณครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่