中国高校课件下载中心 》 教学资源 》 大学文库

《C语言》课程资源_C语言_13.位运算

文档信息
资源类别:文库
文档格式:PPT
文档页数:12
文件大小:140.32KB
团购合买:点击进入团购
内容简介
《C语言》课程资源_C语言_13.位运算
刷新页面文档预览

第13章位运算 位运算功能是C语言的一大特色功能。 所谓位运算是指针对数据中的二进制位进 行的运算。 只能对整型、字符型数据进行位运算。 C语言中有6种基本位运算符

第13章 位运算 位运算功能是C语言的一大特色功能。 所谓位运算是指针对数据中的二进制位进 行的运算。 只能对整型、字符型数据进行位运算。 C语言中有6种基本位运算符

按位取反运算符 进行按位取反运算时,若运算位为0,则结果位 为1;若运算位为1时,则结果位为0。 例如: short int a=15,b=~a; b的结果为65520 因为~0000000000001111B =1111111111110000B

按位取反运算符 进行按位取反运算时,若运算位为0,则结果位 为1;若运算位为1时,则结果位为0。 例如: short int a=15,b=~a; b的结果为65520 因为~00000000 00001111B =11111111 11110000B

按位与运算符 进行按位与运算时,只有相运算的两位均为1时, 结果位才为1。 例如: short int a=3,b-5,c=a&b; c的结果为1 因为0000000000000011B &0000000000000101B 0000000000000001B

按位与运算符 进行按位与运算时,只有相运算的两位均为1时, 结果位才为1。 例如: short int a=3,b=5,c=a&b; c的结果为1 因为 00000000 00000011B & 00000000 00000101B - = 00000000 00000001B

按位或运算符 进行按位或运算时,只有相运算的两位均为0时, 结果位才为0。 例如: short int a=3,b=5,c=ab; c的结果为7 因为0000000000000011B L0000000000000101B 0000000000000111B

按位或运算符 进行按位或运算时,只有相运算的两位均为0时, 结果位才为0。 例如: short int a=3,b=5,c=a|b; c的结果为7 因为 00000000 00000011B | 00000000 00000101B - = 00000000 00000111B

按位异或运算符 进行按位异或运算时,若相运算的两位相异,则 结果位为1;若相运算的两位相同,则结果位 为0。 例如: short int a=15,b=10,c=ab; c的结果为5。 因为0000000000001111B ^0000000000001010B =0000000000000101B

按位异或运算符 进行按位异或运算时,若相运算的两位相异,则 结果位为1;若相运算的两位相同,则结果位 为0。 例如: short int a=15,b=10,c=a^b; c的结果为5。 因为00000000 00001111B ^00000000 00001010B =00000000 00000101B

按位左移运算符 格式:变量<n 其中n是左移的位数 功能:用于将变量的内容左移n个二进制位。即 从左边去掉n位,从右边补上n个0。 例如: short int a=15,b=a<<2; b的结果为60。 因为0000000000001111B<<2 =0000000000111100B 可见,左移一位相当于乘以2

按位左移运算符 格式:变量<<n 其中n是左移的位数 功能:用于将变量的内容左移n个二进制位。即 从左边去掉n位,从右边补上n个0。 例如: short int a=15,b=a<<2; b的结果为60。 因为00000000 00001111B<<2 =00000000 00111100B 可见,左移一位相当于乘以2

按位右移运算符 格式:变量>>n 其中n是右移的位数 功能:用于将变量的内容右移个二进制位。即 从右边去掉n个二进制位,从左边补上n个二进 制位。 对于无符号整数,左边补0;对于有符号整数, 左边补符号位

按位右移运算符 格式:变量>>n 其中n是右移的位数 功能:用于将变量的内容右移n个二进制位。即 从右边去掉n个二进制位,从左边补上n个二进 制位。 对于无符号整数,左边补0;对于有符号整数, 左边补符号位

例如: short int a=16,b=a>>2; b的结果为4。 因为0000000000010000B>>2 =0000000000000100B

例如: short int a=16,b=a>>2; b的结果为4。 因为00000000 00010000B>>2 =00000000 00000100B

例如: short int a=-16,b=a>>2; b的结果为-4。 因为1111111111110000B>>2 =1111111111111100B 可见,右移一位相当于除以2

例如: short int a=-16,b=a>>2; b的结果为-4。 因为11111111 11110000B>>2 =11111111 11111100B 可见,右移一位相当于除以2

若两个运算对象的位数不同,则将较短者 补齐。 对于无符号整数,左边补0;对于有符号整 数,左边补符号位

若两个运算对象的位数不同,则将较短者 补齐。 对于无符号整数,左边补0;对于有符号整 数,左边补符号位

共12页,试读结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档