当前位置:首页 > C++目录 > 正文内容

C++中的逻辑与运算

亿万年的星光4年前 (2022-09-13)C++目录1934
  1. 样例


#include<iostream>
using namespace std;
int main(){
	cout<<(1&1)<<endl; //1 
	cout<<(1&-1)<<endl; // 1 
	cout<<(-1&-1)<<endl; //-1 
	cout<<(-2&-3)<<endl; //-4 
	return 0;
}


2.解释

 1&1:

      1    0000 0001  

      &   

      1    0000 0001  

-----------------------

      1    0000 0001   


 1&-1:

     

    

     1    0000 0001  

      &   

     -1   1111 1111  (补码)

-----------------------

      1    0000 0001   


解释:1的补码是1111 1111,然后进行逻辑与运算即可。


 -1&-1:

     

    

     -1   1111 1111  (补码)

      &   

     -1   1111 1111  (补码)

-----------------------

           1111 1111   


解释:负数和负数的逻辑与运算比较特殊。

-1 & -1 的直接结果是1111 1111,出符号位以外,剩下111 1111

然后把最低位减一得: 111 1110

然后按位取反得: 000 0001, 也就是1

加上符号就是-1,所以最后结果是-1


 -2&-3:


     -2   1111 1110 (补码)

      &   

     -3   1111 1101  (补码)

-----------------------

           1111 1100   


解释:

-2 & -3 的直接结果是1111 1100  ,出符号位以外,剩下111 1100

然后把最低位减一得: 111 1011

然后按位取反得: 000 0100, 也就是4

加上符号就是-1,所以最后结果是-4


同理,逻辑或运算也是一样的

    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【数论】同余定理与同余方程

    定义同余定理是数论中的一个重要概念。它的定义是这样的:给定一个整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m 得到一个整数,那么就成整数a和b对模m同余,记作a≡b(mod m...

    【数论】常见的距离度量方法

    【数论】常见的距离度量方法

    一、欧式距离欧式距离(Eucliden Metric,也是欧几里得度量)是一个通常采用的距离定义,旨在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点距离)。在二维和三维空间中的欧氏距...

    求阶乘的方法

    1.普通求法#include<iostream> using namespace std; int main(){ int sum=1;...

    【数论】二项式定理

    【数论】二项式定理

    一、基本概念上面这个式子就叫做二项式定理,又称牛顿二项式定理,该定理给出两个数之和的整数次幂诸如展开为类似项之和的恒等式。二项式定理可以推广到任意实数次幂,即广义二项式定理。 初中高中阶段比...

    图的遍历

    【题目描述】给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点。【...

    完全背包问题

    1. 问题定义完全背包问题是经典的动态规划问题之一。它的基本描述如下:有一个容量为 V 的背包。有 N 种物品,每种物品有无限个可用。第 i ...