CC++(6)移位运算符"<<"和">>"

    xiaoxiao2023-03-25  5

    摘要

    本文中的"<<"和">>"除了是重载输出标志,还是移位运算符号,而后者通常是人们陌生的,所以在这里就讲讲。

    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
    最新回复(0)