1 / 15
文档名称:

第12章- 位运算.ppt

格式:ppt   页数:15
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第12章- 位运算.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第12章- 位运算.ppt

文档介绍

文档介绍:第12章 位运算
1
1 位运算符和位运算
2 位运算举例
3 位段
位运算
2
位运算符和位运算
3
位运算
位运算符和位运算
所谓位运算是指进行二进制位的运算。
C语言提供下列位运算符:
位运算符中除~ 外,均为二目(元)运算符。
运算量只能是整型或字符型的数据,不能为实型数据。
运算符
含义
运算符
含义
&
按位与
~
取反
|
按位或
<<
左移
^
按位异或
>>
右移
4
位运算
位运算符和位运算
"按位与"运算符(&):
参加运算的两个数据,按二进位进行"与"运算。
0&0=0; 0&1=0; 1&0=0; 1&1=1
"按位或"运算符(|):
参加运算的两个数据,按二进位进行"或"运算。
0|0=0; 0|1=1; 1|0=1; 1|1=1
"异或"运算符(^、XOR):
"异或"的意思是判断两个相应的位值是否为"异"(值不同),为"异"就取真(1),否则为假(0)。
0^0=0; 0^1=1; 1^0=1; 1^1=0
"取反"运算符(~):
单目(元)运算符,用来对一个二进制数按位取反。
~0=1; ~1=0
~的优先级高于算术、关系、逻辑及其他位运算符。
5
位运算
位运算符和位运算
"左移"运算符(<<):
用来将一个数的各二进位全部左移若干位。
高位左移后溢出,舍弃不起作用。
左移1位相当于该数乘以2,左移n位相当于该数乘以2n;但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。
"右移"运算符(>>):
用来将一个数的各二进位全部右移若干位。
右移1位相当于该数除以2,右移n位相当于该数除以2n。
移到右端的低位被舍弃;对无符号数,高位补0;对于有符号数,如果原来符号位为0,则左边也是移入0,如果符号位原来为1,则左边移入0("逻辑右移")还是移入1("算术右移"),要取决于所用的计算机系统。
Turbo C采用的是算术位移。
6
位运算
位运算符和位运算
位运算赋值运算符:
位运算与赋值运算符可以组成复合赋值运算符。
&=,|=,^=,<<=,>>=
不同长度的数据进行位运算:
如果两个数据长度不同,进行位运算时,系统会将二者按右端对齐。
如a&b,a为long型,b为int型。
若b为正数,则左侧16位补满0;
若b为负数,则左侧16位补满1;
若b为无符号整数型,则左侧16位补满0。
7
位运算举例
8
位运算
位运算举例
例:取一个整数a 从右端开始的4~7位。
先使a 右移4位:a>>4
设置一个低4位全为1,其余全为0的数:~(~0<<4)
将上面二者进行&运算,即:(a>>4)& ~(~0<<4)
#include ""
main( ) {
unsigned a, b, c, d;
scanf("%o", &a);
b = a>>4;
c = ~(~0<<4);
d = b&c;
printf("%o, %d\n", a, a);
printf("%o, %d\n", d, d);
}
可以任意指定从右边第m位开始取其右面n位,只需改为: b = a>>( m-n+1) ; c = ~(~0<<n);
9
位运算
位运算举例
例:循环移位。将整数a 进行右循环移位。
将a 的右端n 位先放到b 中的高n 位中:b=a<<(16-n)
将a 右移n 位,其左面高位n 位补0:c=a>>n
将上面二者c与b进行按位或运算即:c=c|b
#include ""
main( ) {
unsigned a, b, c;
int n;
scanf("a=%o,", &a);
scanf("n=%d", &n);
b = a<<(16-n);
c = a>>n;
c = c | b;
printf("%o\n", a);
printf("%o", c);
}
b = a>>( 16-n) ; //左循环
c = a<<n; // 移位
10

最近更新

2024年甘肃畜牧工程职业技术学院单招职业倾向.. 40页

2024年甘肃省甘南藏族自治州单招职业适应性考.. 40页

2024年皖西卫生职业学院单招职业技能测试模拟.. 40页

2024年盘锦职业技术学院单招职业适应性测试题.. 43页

2024年石家庄工程职业学院单招职业倾向性考试.. 41页

2024年石家庄职业技术学院单招职业适应性测试.. 40页

2024年神木职业技术学院单招职业适应性考试题.. 42页

2024年福建水利电力职业技术学院单招职业倾向.. 40页

2024年福建艺术职业学院单招职业适应性考试题.. 42页

2024年芜湖职业技术学院单招职业倾向性考试题.. 40页

2024年苏州工业职业技术学院单招综合素质考试.. 40页

2024年苏州高博软件技术职业学院单招职业技能.. 38页

2024年菏泽学院单招职业技能测试题库含答案 38页

2024年西南交通大学希望学院单招职业技能测试.. 39页

2024年西安欧亚学院单招职业适应性测试模拟测.. 40页

2024年贵州农业职业学院单招职业适应性考试题.. 40页

2024年贵州建设职业技术学院单招职业倾向性测.. 42页

2024年贵州航空职业技术学院单招职业适应性测.. 40页

2024年贵阳职业技术学院单招职业倾向性测试模.. 41页

2024年赤峰工业职业技术学院单招职业适应性测.. 40页

2024年辽宁特殊教育师范高等专科学校单招职业.. 41页

2024年辽宁省朝阳市单招职业倾向性测试题库必.. 41页

2024年辽宁石化职业技术学院单招职业倾向性测.. 40页

2024年辽宁金融职业学院单招职业适应性测试题.. 42页

2024年运城幼儿师范高等专科学校单招职业技能.. 41页

2024年遂宁职业学院单招职业适应性测试模拟测.. 40页

2024年郑州亚欧交通职业学院中单招职业倾向性.. 39页

2024年郑州商贸旅游职业学院单招职业技能考试.. 40页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页