还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
添加副标题C++课件第12章位运算汇报人目录PART OnePART Two位运算的概述位移运算符PART ThreePART Four位逻辑运算符位复合赋值运算符PART Five位运算的应用场景PART ONE位运算的概述位运算的定义位运算是一种对二进制数进行运算的操作位运算包括与、或、非、异或、左移、右移等操作位运算可以用于实现一些特殊的功能,如位掩码、位图等位运算在C++中是一种常用的操作,可以用于优化代码和提高效率位运算的种类按位与运算按位或运算按位异或运按位取反运左移运算右移运算|算^算~位运算的符号表示按位与|按位或^按位异或~按位取反左移右移PART TWO位移运算符左移运算符l作用将二进制数向左移动指定位数l语法ab,其中a是被移动的数,b是移动的位数l结果a的二进制数向左移动b位,低位补0l应用可以用于快速计算2的幂次方,如23=8,表示2的3次方l注意左移运算符不能移动负数位,否则会产生未定义行为右移运算符作用将二进制数向右移动指定位示例int a=10;a=2;数//a的值变为2添加标题添加标题添加标题添加标题符号注意事项右移时,高位补0,低位丢弃算术位移运算符l作用将操作数向左或向右移动指定的位数l符号和l示例int a=10;a2;//a的值变为40l注意事项位移运算符的优先级低于算术运算符,高于关系运算符和逻辑运算符PART THREE位逻辑运算符位与运算符符号功能对两个操作数进行位与运算运算规则如果两个操作数的对应位都是1,则结果为1,否则为0应用常用于判断某个位是否为1,或者将多个位设置为1位或运算符定义位或运算符(|)用于将两应用位或运算符常用于设置或清个二进制数的对应位进行或运算,除某个位,例如设置某个位为1,如果两个位都为0,则结果为0,否可以使用|=运算符,如a|=1,将a则为1的第0位设置为1添加标题添加标题添加标题添加标题例子3|5=7,因为3的二进制表示注意事项位或运算符的优先级低为011,5的二进制表示为101,所于算术运算符,高于关系运算符和以3|5=011|101=111,即7逻辑运算符,使用时需要注意优先级问题位非运算符符号~作用对一个例子~0101注意事项位二进制数进行=1010非运算符的优取反操作先级高于位与和位或运算符,低于位异或运算符PART FOUR位复合赋值运算符位复合赋值运算符的定义含义将位运算的结果赋值给左操示例a=b;表示将a与b进行作数按位与运算,并将结果赋值给a添加标题添加标题添加标题添加标题符号=、|=、^=、=、=、注意事项位复合赋值运算符的优=先级低于算术运算符,高于赋值运算符位复合赋值运算符的使用方法运算符=、|=、作用将左操作示例a=b;注意事项位复^=、=、=数与右操作数进//a=ab;合赋值运算符的行位运算,并将优先级低于算术结果赋值给左操运算符,高于赋作数值运算符位复合赋值运算符的优先级优先级高于普通优先级低于逻辑优先级高于算术优先级高于关系优先级高于位运优先级高于条件赋值运算符运算符运算符运算符算符运算符PART FIVE位运算的应用场景位运算在数据加密中的应用加密算法密钥生成数据混淆加密速度安全性应用领域使用位运使用位运使用位运位运算速位运算具广泛应用算进行数算生成密算对数据度快,适有较高的于网络通据加密,钥,提高进行混淆,合实时加安全性,信、数据如异或运安全性增加破解密需求不易被破存储等领算、移位难度解域的数据运算等加密位运算在数据压缩中的应用位运算可以减少数位运算可以用于数位运算可以用于图位运算可以用于音据存储量,提高数据压缩,如像压缩,如JPEG、频压缩,如MP
3、据传输效率Huffman编码、LZW PNG等格式的图像AAC等格式的音频编码等压缩压缩位运算在硬件编程中的应用控制硬件设备数据传输在状态机设计加密和解密通过位运算控硬件编程中,位运算在状态位运算在硬件制硬件设备的位运算常用于机设计中用于编程中常用于状态和功能数据传输和通表示和切换状加密和解密操信态作位运算在计算机图形学中的应用颜色混合通图像处理位纹理合成通光照计算位过位运算实现运算在图像处过位运算实现运算在光照计颜色混合,提理中的应用,纹理合成,提算中的应用,高渲染效率如边缘检测、高纹理质量如阴影计算、阈值分割等反射计算等THANK YOU汇报人。