C语言--位运算符

一、位运算符

1.按位与:&

1> 功能

* 只有对应的两个二进制位为1时,结果位才为1,否则为0

* 举例:10用二进制表示为1010,  7用二进制表示为0111。对两个数值进行&运算

*  1010

0111

--------------------

0010

* 规律:二进制中,与1相&保持原位,与0相&就为0

2> 应用:使用&运算符,判断一个整数变量的奇偶性

1 intmain()2 {3 int a = 10;4 a&1 ? printf("%d为奇数", a) : printf("%d为偶数", a);5 return 0;6 }

利用&判断变量奇偶性

2.按位或:|

1> 功能

* 只要对应的两个二进制位中有一个为1,结果就为1,否则为0

2> 应用

* 10用二进制表示为1010,  7用二进制表示为0111。对两个数值进行|运算

*  1010

0111

--------------------

1111

3.按位异或:^

1> 功能

* 当对应的二进制位相异时,结果为1,否则为0

* 举例:10用二进制表示为1010,  7用二进制表示为111。对两个数值进行^运算

*  1010

0111

--------------------

1101

2> 应用: 使用位异或运算符,实现两个变量值的互换

1 intmain()2 {3 /*该种用法基于三个规律。4 1.相同数值进行异或运算,结果为0。5 2.任何数值与0异或运算,结果还是原来数值。6 3.交换规律:a^b^c=a^c^b*/

7 int a = 10;8 int b = 11;9 a = a ^ b;//a = 10^11

10 b = a ^ b;//b=10^11^11=10

11 a = a ^ b;//a=10^11^10=11

12 printf("a=%d,b=%d", a, b);13 }

交换数值

4.按位取反:~

1> 功能

* 按位取反,就是对数值的每个二进制位进行取反操作,0取反变1,1取反变0

2> 应用

* 举例:10用二进制表示为1010,对1010进行~操作

*  1010

--------------------

0101

5.左移<<  、右移>>

1> 功能

* a<>n就是将a的各个二进制位向右移动n位,保持符号位不变,右移n位,其实就是除以2的n次方

2> 应用

*举例:10用二进制表示为1010,对1010进行左移1位操作,结果是10100也就是20;对1010进行右移1位操作,结果是101也就是5.

*注意:以后对变量进行乘法或除法时,运用左移或右移可以提高性能

c语言位非运算符,C语言-位运算符相关推荐

  1. 单片机C语言中的位运算符,单片机c语言教程第八课 运算符和表达式(位运算符)...

    学过汇编的朋友都知道汇编对位的处理能力是很强的,但是单片机C语言也能对运算对象进行按位操作,从而使单片机C语言也能具有一定的对硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不改变参 ...

  2. java boolean 按位或_布尔运算符与按位运算符

    布尔运算符与按位运算符 我对何时应该使用布尔运算符与按位运算符感到困惑 and vs &, or vs | 有人能启发我何时使用每种药物,何时使用一种药物会影响我的结果? 8个解决方案 56 ...

  3. python 按位运算符_Python按位运算符

    python 按位运算符 Python bitwise operators are used to perform bitwise calculations on integers. The inte ...

  4. 按字节提取整形数值(按位与运算符“”、右移位运算符“”)

    输入一个十进制整数,将其转换成十六进制数输出,并提取每一字节所表示的十六进制数值逐一输出.测试数据如下: 分析:从控制台输入一个十进制整数,将其转换成十六进制数输出,接着提取其4个字节.用到按位与运算 ...

  5. --c语言运算符_C按位运算符-能力问题和解答

    --c语言运算符 C programming Bitwise Operators Aptitude Questions and Answers: In this section you will fi ...

  6. 下面运算符不是c程序语言的逻辑运算符,C语言中的逻辑运算符和位运算符总结...

    老分不清一个&号和俩的用法,今天专门拿出来整理整理: 一.逻辑运算符: 包括:1.&&逻辑与 2.||逻辑或 3.!逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 ...

  7. python位运算符_NumPy按位运算符解析和实例详解

    本文概述 Numpy提供以下按位运算符. SN Operator Description 1 bitwise_and 它用于计算相应数组元素之间的按位运算. 2 bitwise_or 它用于计算相应数 ...

  8. java中位与运算符_Java中位运算符和的区别

    一.<< 表示左移两位 < 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 正数:r = 20 << 2 20的 ...

  9. c语言位运算符的应用,c语言位运算(c语言位运算符的用法)

    a=1^8 b=32^32 c=7^3 d=4&3 e=4|3 f=1&-1 求值 求详解 求值 为什么等于这么. 一.位运算符C语言提供了六种位运算符:& 按位与 | 按位或 ...

最新文章

  1. 浏览器安全检查己通过_百度主动推送三项合一功能
  2. 利用百度api判断已知经纬度的一个点是否在多边形内
  3. Qt Creator从Blender导出3D资产
  4. jQuery 判断所有图片加载完成
  5. 依赖: ros-melodic-desktop 但是它将不会被安装_npm系列之依赖管理
  6. 数楼梯(洛谷-P1255)
  7. python编写赛车_python udp 协议发送接收秒速赛车平台搭建数据
  8. linux 单用户模式 挂载u盘_Linux服务器如何识别移动硬盘?
  9. 川崎机器人仿真软件K-ROSET破解版的发展历程
  10. 干货 | 还不了解中介调节模型?赶紧收藏本文吧。
  11. 人工智能命题逻辑--测试题答案(三)
  12. 为什么要设置HashMap的初始化容量
  13. zookeeper关闭默认管理端口admin.serverPort=8080
  14. xml 压缩_研究最新的XML压缩技术
  15. 电路原理计算机解法,电路原理学习指导与习题全解
  16. UltraEdit的注册码,版本:15.10.0.1026
  17. 四年级用计算机算出本月合计,四年级数学下册简算练习题及答案
  18. 互联网软件技术培训,靠谱吗?
  19. CodeBlocks搭建OpenCV
  20. 今天是1024程序员节,这是一段来自程序员最真实的内心自白,内容过于真实,我已泪崩。

热门文章

  1. 塔望食品品牌策划:盘点食品产业变化4大关键词及3大发展趋势
  2. Qt Quick 3D系列(三):设置三维模型的金属光泽材质
  3. Coding上部署Ghost博客
  4. Mysql-计算n日留存率
  5. 联想RQ940升级bios
  6. WebRTC VoiceEngine综合应用示例(一)——基本结构分析
  7. 福利,一张图看懂IT售前工程师修炼之道
  8. 留一法(Leave-One-Out)与确定性
  9. BackhaulRateDlWLAN 和BackhaulRateUlWLAN WLAN回程线路上行和下行带宽
  10. GENESIS公链将打破不同区块链孤岛效应