标准C学习day04 运算符 分支语句

根据需要的数字不同可以把操作符分为
三种:单目操作符,双目操作符和
三目操作符

加减乘除用+,-,*,/四个操作符表示
如果参与除法计算的两个数字都是整数
则计算结果只保留整数部分

%用来表示取余操作
15 % 6结果是3(15可以分解成12 +3,12是
6的整数倍,3是一个比6小的数字)

赋值操作符用=表示
赋值语句本身也可以作为数字使用,这个数字
  就是赋值以后存储区里的数字
可以在一个表达式里多次使用赋值操作符,
  这个时候优先计算右边的赋值操作符

绝大多数双目操作符可以和赋值操作符合并
  成为复合赋值操作符(例如+=,/=等)
这种操作符会把双目操作符的计算结果
   记录到存储区里
这种操作符通常在表达式里最后计算

自增操作符(++)和自减操作符(–)都是
  单目操作符
它们只能和存储区一起使用
自增操作符可以把存储区的内容加一
自减操作符可以把存储区的内容减一
它们各有两种使用方法:
前操作(操作符写在存储区的前面)
后操作(操作符写在存储区的后面)
前操作表达式作为数字使用的时候是修改
   后的数字
后操作表达式作为数字使用的时候是修改
   前的数字

逻辑表达式的结果必须是布尔值
逻辑操作符用来编写逻辑表达式

!是一个单目逻辑操作符
它可以根据一个布尔值计算出另外一个
   布尔值
这两个布尔值一定不同
这个操作叫做求反操作

双目逻辑操作符包括==(等于),!=(不等于),
  >(大于),<(小于),>=(大于等于)和
<=(小于等于)

一个逻辑表达式里最多包含一个双目
   逻辑操作符

与(&&)和或(||)可以用来连接两个逻辑
   表达式

只要两个表达式里有一个的结果是真
   用或(||)合并以后结果就是真
只要两个表达式里有一个的结果是假
   用与(&&)合并以后结果就是假

与(&&)和或(||)都具有短路特征
如果前面表达式的结果可以决定合并后
  表达式的结果就忽略后面的表达式

位操作符用来操作二进制数位的内容

~是一个单目位操作符
这个操作符可以根据一个数字计算出另外
  一个数字,这两个数字所有二进制
  数位的内容都不一样
这个操作叫按位求反

char 0x93 1001 0011
char ~0x93(0x6c) 0110 1100

双目位操作符包括按位与(&),按位或(|)
和按位异或(^)
它们都是把两个数字对应二进制数位的
  内容互相进行计算

按位与(&)可以把对应数位的内容做与
   计算
只要一个数位内容是0则与计算以后
  结果就是0

3      0000 0011

& 5 0000 0101
0000 0001
任何数位内容和0做按位与结果一定是0
任何数位内容和1做按位与结果保持不变

可以利用按位与从一个数字里单独获得
  某些数位的内容
0010 1011 & 0000 0001 结果是1
(利用按位与用来判断一个数字是否是奇数)

可以利用按位与把一个数字的某些数位
  内容设置成0
0110 1011 & 1101 1111 结果是0100 1011

按位或(|)可以把对应数位的内容做或计算
只要一个数位的内容是1则或计算以后
  结果就是1

 3     0000 0011

| 5 0000 0101
0000 0111

任何数位内容和0做按位或保持不变
任何数位内容和1做按位或结果是1

可以利用按位或把某些数位内容设置成1
0110 1011 | 0000 0100 结果是0110 1111

按位异或(^)可以把对应数位的内容做
  异或计算
如果两个数位内容一样则异或以后结果是0,
  否则结果是1

3 0000 0011
^ 5 0000 0101
0000 0110

任何数位内容和0做按位异或结果保持不变
任何数位内容和1做按位异或结果变成相反数

可以利用按位异或把某些数位内容变成
  相反数
0110 1001 ^ 0000 1111 结果是 0110 0110

移位操作可以把一个数字的所有二进制
   数位内容统一向左或向右移动n个位置
********
00000011
00000011 向左移动2步
00001100 多余的数位内容被丢掉
         空的数位里填上新数字
<<表示向左移位

表示向右移位
它们都是双目位操作符
左边的数字将要进行移位操作
右边的数字是移动的位数
3 << 2 对3进行向左移动2位的操作

向左移位后右边空出来的数位里固定填充0

无符号类型数字右移时左边空出来的数位
  里填充0
(无符号类型)
1000 0101 >> 2 0010 0001

有符号类型数字右移时左边空出来的数位
  里填充符号位的内容
(有符号类型)
1000 0101 >> 2 1110 0001

向左移动n位通常相当于乘以2的n次方
向右移动n位通常相当于除以2的n次方

位操作符不会修改存储区内容

&也可以作为单目操作符使用
它可以用来计算一个存储区
  的地址
(类似从电话号码本里查找某个人
  的电话号码)
可以用%p做占位符显示地址数据
我们的计算机里所有地址数据都是由
  32个二进制数位构成的

*也可以做单目操作符使用
它可以根据地址找到一个存储区
(类似根据电话号码拨打电话)

三目操作符可以从两种计算规则里选择
  一个
(类似于工具箱,可以从多个工具里选择)
三目操作符格式如下
布尔值 ? 表达式一 : 表达式二
布尔值为真就用表达式一进行计算
布尔值为假就用表达式二进行计算

计算绝对值的表格


  • 非负数 * 本身 *


  • 负数 * 相反数*


如果表达式里不同数字的类型不同
就必须首先转换成同一个类型
然后再进行计算
这个转换过程叫隐式类型转换

隐式类型转换过程中必须把占地小的类型
转换成占地大的类型

如果既有整数类型数字也有单精度浮点
类型数字,隐式类型转换时就把整数
类型转换成单精度浮点类型
如果既有无符号类型数字也有有符号类型
数字,隐式类型转换的时候就把有
符号类型转换成无符号类型

可以在程序里临时给数字指定一个类型
这叫做强制类型转换
强制类型转换格式如下
(char)300 把300当做字符类型数字使用
强制类型转换有可能导致数据内容丢失

类型转换不会修改存储区内容

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值