C语言运算符之三

运算符与表达式的概念
运算符
定义:具有一定运算规则的符号,对数据进行操作的方式
符号          运算规则        数据(常量 和 变量)
运算符的分类: 赋值运算符: =      算术运算符: + - * / %
关系运算符:<   >  <=  >=  !=  ==
逻辑运算符:&&   ||   !   
位运算符: &  |  ^  ~  <<   >>          
其他运算符: ++   --  复合运算符   三目运算符 
----------------------------------------------     
操作数
定义:运算符操作的对象---数据(常量和变量)
例子: 
 5                 +                3 
操作数(常量)  运算符(算数)    操作数(常量) 
int a; 
~                      a;  
运算符(位运算)      操作数(变量) 
单目运算: 只有一个操作数的就称之为单目运算  
-------------------------------------------------- 
表达式
定义:表达实际问题的式子
例子: 
苹果5/斤,买了6斤,问要多少钱?  
5 * 6          我花了多少钱    30    //表达式     运算符 和 操作数
5              苹果5/斤        5     //表达式     常量
6              买了6斤         6     //表达式     常量           
int age = 10;      //表示式      变量  
5 + 6 * 2;
总结: 
①表达式可以是常量,可以是变量,也可以是运算符和操作数的组合
②表达式一定有一个结果数据
③表达式有运算顺序,运算顺序由运算符的优先级决定

位运算符
位运算符的作用是按位(二进制)对变量进行运算
位运算符不能对浮点型数据进行操作       
1) &  按位与(有0为0,全1为1) 
2) |  按位或(有1为1,全0为0)   
3) ^  按位异或(相同为0,不同为1) 
4) ~  按位取反 (1变0,0变1) 
5) << 按位左移  (高位溢出,低位补0)
6) >> 按位右移   (低位溢出,高位补0)
1)按位与 
符号: &   
格式: 数据1  &  数据2        数据(常量,变量)
例子: 10  &  25      //例子都是char类型
原理: ①将两个数据转换成二进制(补码)的形式     
②低位到高位一一对应    
0000 1010    //10   
0001 1001    //25 
③规则: 有0为0,全1为1   
0000 1010    //10   

0001 1001    //25     
-------------------------------                   
0000 1000    //8         
说明:按位与是用来对某一个位进行置为0
如果需要对每个数据的二进制中的某一位置0,按位与一
个对应位是0的数据,按位与是用来对数据的二进制位置0  
2)按位或  
符号:|          格式: 数据1 | 数据2   
例子: 10 | 25    //例子都为char   
原理:   ①将两个数据都转换成二进制(补码)的形式    
②低位到高位一一对应   
0000 1010     //10  
0001 1001     //25  
③规则: 有1为1,全0为0
0000 1010     //10
 |                  
0001 1001     //25                   
0---------------
0001 1011     //27
说明:对应位置为1 
如果需要将某个数据的二进制的某一位置1,
按位或一个对应位是1的数据    
按位与是用来对数据的二进制位置1   
注意:  &置0,|置1                  
3)按位异或 
符号:^    
格式:数据1 ^ 数据2
例子: 10 ^ 25    //例子都为char   
原理:  ①将两个数据都转换成二进制(补码)的形式    
②低位到高位一一对应   
0000 1010     //10  
0001 1001     //25  
③规则:相同为0,不同为1
0000 1010     //10
^                  
0001 1001     //25                        
----------------------  
0001 0011     //19   
4)按位取反            
符号:~  
格式:~数据  
例子: ~10    //例子都为char   
原理:  
①将该数据转换成二进制(补码)的形式    
0000 1010  //10 
②规则: 0变1   1变0   
~ 0000 1010  
 ---------------
  1111 0101                       
5)按位左移  
符号:<<  
格式:数据 << 移动的位数    
例子:10 << 1   //例子都为char   
原理:  
①将该数据转换成二进制(补码)的形式    
0000 1010   //10  
②整体左移,低位补0                       
0001  0100    //20
规律: 
数据左移一位,十进制形式扩大2倍    

int a = 120;
char b;  -128 ~ 127  
b = a << 2;   b:480 - 256=224 -256= -32
 
int a = 20000;
short b;  -32768 ~ 32767     
b = a << 2;    b:80000 - 65536 = 14464
6)按位右移           
 符号:>>  
 格式:数据 >> 移动的位数    
 例子:10 >> 1   //例子都为char   
 原理: ①将该数据转换成二进制(补码)的形式    
0000 1010   //10  
②整体右移,高位补0                       
00000 101 //  5
规律: 数据右移一位,十进制形式缩小2倍  
---------------------------------------------------------- 
位运算符的优先级:   ~
<<  >>   
& | ^     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+据集+超详细注释.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值