第10章 位运算与枚举类型.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 程序设计技术 C语言数据描述和C程序设计初步 结构化程序设计基础和C语言的控制结构 数组及其应用 函数与C程序结构 指针与函数 指针与数组 字符串及其应用 结构体类型和联合体类型 C语言的文件处理及其应用 位运算与枚举类型 位运算与枚举类型 C语言的位运算及其应用 位段及应用 枚举数据类型及其应用 位运算 位运算的概念 二进制位(Bit) 二进制位(Bit)是计算机系统中能够表达的信息最小单位,一个二进制位能够表达出两个信息“0”和“1” 。 字节(byte) 字节(byte)是计算机系统中的基本信息单位,一个字节由8个二进制位组成,其中最右边一位称为“最低有效位”,最左边的一位称为“最高有效位”。 位运算注意点 位运算的数据对象只能是整型类型兼容的数据; 位运算中将参加位操作的数据对象(整型类型)拆开为二进制位看待。 位运算 位运算符 C语言提供了下列11个用于位操作的运算符或复合运算符对程序设计中的位运算提供支持 运算符 运算符含义 运算符 运算符含义 按位与 = 位与赋值 | 按位或 |= 位或赋值 ^ 按位异或 ^= 位异或赋值 ~ 按位取反 = 左移赋值 按位左移 = 右移赋值 按位右移 位运算 按位与运算符() 按位与运算符是一个双目运算符; 功能 将参加操作的两个对象的各个位分别对应进行“与”运算,即:两者都为1时结果为1,否则结果为0; 设有十进制整数:x=128、y=64,则: 00000000000000000000000010000000 (十进制数:128) ) 00000000000000000000000001000000 (十进制数:64) 00000000000000000000000000000000 (十进制数:0) 运算结果:xy=0。 例10-1 按位与运算示例。 位运算 按位或运算符(|) 按位或运算符|是一个双目运算符; 功能 将参加操作的两个对象的各个位分别对应进行“或”运算,即:两者都为0时结果为0,否则结果为1。 设有十进制整数:x=128、y=64,则: 00000000000000000000000010000000 (十进制数:128) |) 00000000000000000000000001000000 (十进制数:64) 00000000000000000000000011000000 (十进制数:192) 运算结果:xy=192 例10-2 按位或运算示例。 位运算 按位异或运算符(^) 按位异或运算符^是一个双目运算符; 功能 将参加操作的两个对象的各个位分别对应进行“异或”运算,即:两者值相同时结果为0,否则结果为1。 设有十进制整数:x=128、y=64,则: 00000000000000000000000010000000 (十进制数:128) ^) 00000000000000000000000001000000 (十进制数:64) 00000000000000000000000011000000 (十进制数:192) 运算结果:xy=192 例10-3 按位异或运算示例。 位运算 按位取反运算符(~) 按位取反运算符~是一个单目运算符; 功能 将参加操作的对象的各个位进行“取反”操作,即:0变为1,1变为0。 设有十进制整数:x=128,则: 00000000000000000000000010000000 (十进制数:128) ~x= 11111111111111111111111101111111 (十进制:4294967167) 运算结果: ~x= 4294967167 例10-4 按位取反运算示例。 位运算 左移运算符() 左移运算符是一个双目运算符; 功能 将参加操作的左操作对象的全部位向左移动右操作对象指定的位数,左移出去的数位丢失,左移后数的右边补0。 设有十进制整数:x=128、移动位数为2,则: 00000000000000000000000010000000 (十进制数:128) x2 00000000000000000000001000000000 (十进制数:512) 运算结果: x2=512 例10-5 左移运算示例。 位运算 左移运算符() 左移位运算的特点 数据对象进行左移操作时,只要没有出现溢出现象(即移位后的数据仍在取值范围之内),那么某数左移一位相当于将该数乘2; 若在数据对象的左移操作中出现了溢出现象,则数据对象不能正确表示出来; 设有十进制整数:x=128、移动位数为25,则:

文档评论(0)

开心就好 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档