摘要
本文中的"<<"和">>"除了是重载输出标志,还是移位运算符号,而后者通常是人们陌生的,所以在这里就讲讲。
1. 什么是一位运算符
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移),通常程序中“<<”“>>”用得比较多。
2. 实例化说明
#include "stdafx.h"
#include "windows.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, _TCHAR* argv[]){
int i = 2;
cout << (i<<4) << endl; // 二进制左移4位,扩大2^4倍,即2*2^4
int i = 32;
cout << (i>>4) << endl; // 二进制右移4位,缩小了2^4倍,即32/(2^4)
return 0;
}
3. 测试结果
2左移4位,相当于乘4倍数(二进制),即2*(2^4) = 32;
32右移4位,相当于除4倍数(二进制),即32/(2^4) = 2.
转载请注明原文地址: https://ju.6miu.com/read-1203495.html