C++ 操作符(运算符)重载 《从C语言过渡到C++和虚幻引擎中的C++编程》教程⑤
前言
在初学C++的时候,你们可能会困惑cout和cin为什么要用<<和>>这种奇怪的操作符号,其实<<和>>在C语言和C++中原本都是左移和友移的位运算符号。只是在中重载来当作输入输出符号罢了。
众所周知,学校里教的C语言非常皮毛,很多学校的C语言课连位运算可能都没讲。所以这里补充下C/C++中的位运算的知识。
位运算
按位与运算(运算符为&)
在高中的时候,我们学逻辑关系的时候,我们知道命题A且命题B(或者说命题A与B)也就是: A ⋀ B A\bigwedge B A⋀B,只有在A和B都为真的时候才成立。
在计算机学科中,我们往往用1表示真命题,用0表示假命题。
那么就有:
- 1 ⋀ 1 = 1 1\bigwedge 1=1 1⋀1=1
- 1 ⋀ 0 = 0 1\bigwedge 0=0 1⋀0=0
- 0 ⋀ 1 = 0 0\bigwedge 1=0 0⋀1=0
- 0 ⋀ 0 = 0 0\bigwedge 0=0 0⋀0=0
而二进制数A与B进行按位与,就是让两个数的对应位上的二进制数字进行“且”的操作,而空位视为0.
例如:
10&01==0
11&1==1//第二个数字比第一个数字位数少一位,就把空位视为0和其进行“且”的操作
10001&100==0
11111&11==11
C++代码:
#include<iostream>
using namespace std;
int main()
{

本文介绍了C++中的位运算,包括按位与、按位或、按位异或和取反操作,以及左移和右移运算。同时讨论了操作符重载的概念,举例说明如何通过重载实现自定义的运算行为,如向量相加。文章还解释了C++中cout和cin使用<<和>>作为输入输出操作符的原因。
最低0.47元/天 解锁文章
67

被折叠的 条评论
为什么被折叠?



