C++基础学习(03AM)

本文介绍了C++中的位操作,包括''、NULL、0和false的真假判断,位移操作(左移和右移)的规则,以及异或运算在数值交换中的应用。通过示例代码展示了位操作符的效果,如取反、自增自减以及异或交换两个数的技巧。
摘要由CSDN通过智能技术生成

1.‘\0’、NULL、0和false为假,其余都为真

2.a<<3:表示a左移3位,相当于运算数*2的3次方(只要没有溢出)。

    >> 右边丢失,无符号左边补0 有符号非负补0负数补1

   例如:-1>>5还是-1 -1和0右移是没有任何意义的,还是 原数

             64>>2 变成16

    右移动n位数=原数除以2的n次方

    右移的位数超过总的位数则没有意义

3.两次异或之后数据还原

 a=10,b=20;a=a^b;b=a^b;a=a^b;则a=20  b=10

4.相关代码

#include <iostream>
using namespace std;


int main()
{
cout << ~-1 << endl;
cout << ~0 << endl;


int var = -1;
cout << ~var << endl;
cout << var << endl;


i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值