c语言位非运算符,C语言-位运算符
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语言-位运算符相关推荐
- 单片机C语言中的位运算符,单片机c语言教程第八课 运算符和表达式(位运算符)...
学过汇编的朋友都知道汇编对位的处理能力是很强的,但是单片机C语言也能对运算对象进行按位操作,从而使单片机C语言也能具有一定的对硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不改变参 ...
- java boolean 按位或_布尔运算符与按位运算符
布尔运算符与按位运算符 我对何时应该使用布尔运算符与按位运算符感到困惑 and vs &, or vs | 有人能启发我何时使用每种药物,何时使用一种药物会影响我的结果? 8个解决方案 56 ...
- python 按位运算符_Python按位运算符
python 按位运算符 Python bitwise operators are used to perform bitwise calculations on integers. The inte ...
- 按字节提取整形数值(按位与运算符“”、右移位运算符“”)
输入一个十进制整数,将其转换成十六进制数输出,并提取每一字节所表示的十六进制数值逐一输出.测试数据如下: 分析:从控制台输入一个十进制整数,将其转换成十六进制数输出,接着提取其4个字节.用到按位与运算 ...
- --c语言运算符_C按位运算符-能力问题和解答
--c语言运算符 C programming Bitwise Operators Aptitude Questions and Answers: In this section you will fi ...
- 下面运算符不是c程序语言的逻辑运算符,C语言中的逻辑运算符和位运算符总结...
老分不清一个&号和俩的用法,今天专门拿出来整理整理: 一.逻辑运算符: 包括:1.&&逻辑与 2.||逻辑或 3.!逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 ...
- python位运算符_NumPy按位运算符解析和实例详解
本文概述 Numpy提供以下按位运算符. SN Operator Description 1 bitwise_and 它用于计算相应数组元素之间的按位运算. 2 bitwise_or 它用于计算相应数 ...
- java中位与运算符_Java中位运算符和的区别
一.<< 表示左移两位 < 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 正数:r = 20 << 2 20的 ...
- c语言位运算符的应用,c语言位运算(c语言位运算符的用法)
a=1^8 b=32^32 c=7^3 d=4&3 e=4|3 f=1&-1 求值 求详解 求值 为什么等于这么. 一.位运算符C语言提供了六种位运算符:& 按位与 | 按位或 ...
最新文章
- 浏览器安全检查己通过_百度主动推送三项合一功能
- 利用百度api判断已知经纬度的一个点是否在多边形内
- Qt Creator从Blender导出3D资产
- jQuery 判断所有图片加载完成
- 依赖: ros-melodic-desktop 但是它将不会被安装_npm系列之依赖管理
- 数楼梯(洛谷-P1255)
- python编写赛车_python udp 协议发送接收秒速赛车平台搭建数据
- linux 单用户模式 挂载u盘_Linux服务器如何识别移动硬盘?
- 川崎机器人仿真软件K-ROSET破解版的发展历程
- 干货 | 还不了解中介调节模型?赶紧收藏本文吧。
- 人工智能命题逻辑--测试题答案(三)
- 为什么要设置HashMap的初始化容量
- zookeeper关闭默认管理端口admin.serverPort=8080
- xml 压缩_研究最新的XML压缩技术
- 电路原理计算机解法,电路原理学习指导与习题全解
- UltraEdit的注册码,版本:15.10.0.1026
- 四年级用计算机算出本月合计,四年级数学下册简算练习题及答案
- 互联网软件技术培训,靠谱吗?
- CodeBlocks搭建OpenCV
- 今天是1024程序员节,这是一段来自程序员最真实的内心自白,内容过于真实,我已泪崩。