盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

C语言之枚举与位运算

时间:2024/9/16作者:未知来源:盾怪网教程人气:

[摘要]b; printf("a=%d b=%d c=%d ",a,b,c);  3. 按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对...
b;
 printf("a=%d b=%d c=%d ",a,b,c);
}
  3. 按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:

00001001^00000101 00001100 (十进制为12)
main(){
 int a=9;
 a=a^15;
 printf("a=%d ",a);
}

  4. 求反运算 求反运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反。例如~9的运算为: ~(0000000000001001)结果为:1111111111110110

  5. 左移运算 左移运算符“〈〈”是双目运算符。其功能把“〈〈 ”左边的运算数的各二进位全部左移若干位,由“〈〈”右边的数指定移动的位数,

  高位丢弃,低位补0。例如: a〈〈4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。6. 右移运算 右移运算符“〉〉”是双目运算符。其功能是把“〉〉 ”左边的运算数的各二进位全部右移若干位,“〉〉”右边的数指定移动的位数。

  例如:设 a=15,a〉〉2 表示把000001111右移为00000011(十进制3)。 应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。

main(){
 unsigned a,b;
 printf("input a number: ");
 scanf("%d",&a);
 b=a〉〉5;
 b=b&15;
 printf("a=%d b=%d ",a,b);
}

  请再看一例!

main(){
 char a='a',b='b';
 int p,c,d;
 p=a;
 p=(p〈〈8)

关键词:C语言之枚举与位运算




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版