- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C位操作
c++按位操作符
signed u
顾名思义,按位运算符允许按照位来操作整型变量。可以把按位运算符应用于任意 和
nsigned整型,包括char类型。但是,它们通常应用于不带符号的整型。
这些运算符的一个常见应用是在整型变量中使用单个的位存储信息。例如标记,它用于描述二进
制状态指示符。可以使用一个位来描述有两个状态的值:开或关、男或女,真或假。
也可以使用按位运算符处理存储在一个变量中的几个信息项。例如,颜色值常常记录为三个八位
值,分别存储颜色中红、绿和蓝的强度。这些常常保存到四字节变量中的三个字节。第四个字节
也不会浪费,包含表示颜色透明度的值。显然,要处理各个颜色成分,需要从变量中分离出各个
字节,按位运算符就可以做到这一点。
再看另外一个例子,假定需要记录字体的信息,那么,只要存储每种字体的样式和字号,以及字
体是黑体还是斜体,就可以把这些信息都存储在一个二字节的整型变量中,如图3-1所示。
图3-1 把字体数据存储在2个字节中
—— 1 0
可以使用一位来记录字体是否为斜体 表示斜体, 表示一般。同样,用另一位来指定字
256 5
体是否为黑体。使用一个字节可以从多达 种不同的样式中选择一个,再用另外 位记录最
32 16
多 磅的字号。因此,在一个 位的字中,可以记录四个不同的数据项。按位运算符提供了
16
访问和修改整数中单个位和一组位的便利方式,能方便地组合和分解一个 位的字。
3.3.1 移位运算符
移位运算符可以把整型变量中的内容向左或向右移动指定的位数。移位运算符和其他按位运算符
一起使用,可以获得前面描述的结果。运算符把位向右移动,运算符把位向左移动,移
出变量两端的位被舍弃。
所有的按位操作都可以处理任何类型的整数,但本章的例子使用 16位的变量,使例子较为简单。
用下面的语句声明并初始化一个变量number:
unsigned short number 16387U;
如第2章所述,不带符号的字面量应在数字的最后添加字母U或u。
在下面的语句中,对这个变量的内容进行移位,并存储结果:
unsigned short result number 2; //Shift left two bit positions
移位运算符的左操作数是要移位的值,右操作数指定要移动的位数。图3-2列出了该操作的过
程。
图3-2 移位运算
从图3-2可以看出,把数值 16387向左移动两位,得到数值 12。数值的这种剧烈变化是舍弃
高位数字的结果。
把数值向右移动,可以使用下面的语句:
result number 2; //Shift right two bit positions
16387 4096 4
把数值 向右移动两位,得到数值 。向右移动两位相当于使该数值除以 。
只要没有舍弃位,向左移动n位就相当于把该数值乘以2的n次方。换言之,就等于把该数值
n
乘以2 。同样,向右移动n位就相当于把该数值除以2的n次方。但要注意,变量number
向左移位时,如果舍弃了重要的位,结果就不是我们希望的那样了。可是,这与乘法运算并没有
不同。如果把2字节的数值乘以4,就会得到相同的结果,所以向左移位和相乘仍是等价的。出
现问题的原因是相乘的结果超出了2字节整数的取值范围。
op
如果需要修改原来的值,可以使用 赋值运算符。在这种情况下,可以使用 或 运
算符。例如:
number 2
您可能关注的文档
- BL6531用户手册 V1.0.pdf
- BMP文件格式.pdf
- BMSF16C Block50冷启关车检查单.pdf
- BM_4_土地资源管理实用手册_建设用地管理.pdf
- BO210-烤箱说明书.pdf
- BODTrak-说明书.pdf
- BOOK1让特色逐步丰盈.pdf
- BMW培训笔记.pdf
- Bootstrap自学笔记.pdf
- BOM表流程改善.pdf
- 《GB/T 12668.7202-2024调速电气传动系统 第7-202部分:电气传动系统的通用接口和使用规范 2型规范说明》.pdf
- 《GB/T 15692-2024制药机械 术语》.pdf
- GB/T 15692-2024制药机械 术语.pdf
- 中国国家标准 GB/T 15692-2024制药机械 术语.pdf
- GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 中国国家标准 GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 《GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求》.pdf
- 《GB/T 30117.1-2024非相干光产品的光生物安全 第1部分:通用要求》.pdf
- 《GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验》.pdf
- GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验.pdf
文档评论(0)