按取反 和 按位相或 怎么算

1个回答

  • 举两个例子: 用C++语法举例

    按位取反: ~x就是对x取反

    比如这个数x: 1100 1011

    按位取反后得: 00110100 (每一位分别1变0,0变1)

    (多说一句,如果把X直接取非的话,就是在前面加个感叹号: !x 就等于 0,因为x=11001011这个值不是0)

    按位相或: 单竖线 | 为按位取或,

    比如x= 10111001

    然后y= 01110001

    从左边开始

    第一位1析取0等于1

    第二位0析取1等于1

    第三位1析取1等于1

    第四位1析取1等于1

    第五位1析取0等于1

    第六位0析取0等于0

    第七位0析取0等于0

    第八位1析取1等于1

    所以结果是11111001