成都网站公司建设,汽车用品网站,欧美一级A做爰片成电影网站,网站建设费如何做账目录
一.算术操作符
1.要点#xff1a;
二.负数原码#xff0c;反码#xff0c;补码的互推
1.按位取反操作符#xff1a;~#xff08;二进制位#xff09;
2.原反补互推演示
三.进制位的表示
1.不同进制位的特征#xff1a;
2.二进制位表示
3.整型的二进制表…目录
一.算术操作符
1.要点
二.负数原码反码补码的互推
1.按位取反操作符~二进制位
2.原反补互推演示
三.进制位的表示
1.不同进制位的特征
2.二进制位表示
3.整型的二进制表示 四.移位操作符
1.左移操作符
2.右移操作符
五.位操作符
1.使用禁忌
2.位操作符一览
3.位操作符的注意要点
4.位操作符使用演示
5.位操作符的应用“不创建临时变量实现两个数的交换”
6.位操作符的应用“求一个整数存储在内存的二进制中1的个数”
法一利用移位操作符
法二 利用二进制原理
六.赋值操作符 1.连续赋值接收上一个运算的返回值 2.复合赋值符
七.逻辑操作符
1.逻辑操作符一览
2.区分 “逻辑与或” 和 “按位与或”
3.经典例题
例1逻辑与的“短路特性”——前面为0判定时后面不操作
例2逻辑或的“反短路特性”——前面为真判定时后面不操作
八.单目操作符
1.单目操作符一览
2.sizeof特性与操作规范 操作数的类型长度
九.其他操作符
1.下标引用操作符
2.函数引用操作符
3.访问结构的成员操作符
九.算术转换
十.隐式类型转换
1.概述
2.整型提升
一.正负数的整型提升
3.截断
十一.问题表达式问题
原理优先级虽然存在但与执行的次序存在不确定性
例1无法判断三个fun( )哪个先执行
例2无法判断是c开始先去--c还是先执行--c再c
十二.逗号表达式
1.逗号表达式
2.逗号表达式的实际应用——简化代码 一.算术操作符 - * / % 1.要点 除了%操作符之外其他操作符都可以作用于整数和浮点数对于/操作符如果两个操作数都为整数则执行整数除法只要有浮点数浮点数除法%操作符的两个操作数必须为整数。返回的是整除后的余数除法 / 想要得到小数保证除数和被除数中至少有一个是浮点数 (5.0/2——2.5) 二.负数原码反码补码的互推 1.按位取反操作符~二进制位 ~二进制位0变11变0 00000000000000000000000000000001
11111111111111111111111111111110 按位取反后 2.原反补互推演示 原理 例子 三.进制位的表示 1.不同进制位的特征 进制位的表示范围都为0~进制位-1 例10进制位0~9 8进制位0~7 2.二进制位表示 进制位从右往左分别代表进制位的数×进制位的0到若干次方 例二进制表示15 3.整型的二进制表示 四.移位操作符 1.左移操作符 补码移动空缺补0左移效果扩大二倍 负数也适用例4-8,-4--8) PS涉及原反补码的运算不清楚1-1的可以看本博客原反补码块知识点 图示 2.右移操作符 逻辑右移左边丢弃左边补0算术右移正负数右边丢弃左边补原符号位保持原来的符号位 图示: 五.位操作符 1.使用禁忌 不要移动负数位此行为未定义 2.位操作符一览 1.按位与有0为0全1为1 2.按位或 |有1为1全0为0 3.按位异或^相同为0相异为1 3.位操作符的注意要点 他们的操作数必须是整数位操作的应用场景一般是补码层面的运算 4.位操作符使用演示 5.位操作符的应用“不创建临时变量实现两个数的交换” 原理 任何数 和0 亦或^都是它自己两个相同的数亦或^都为0运算后不会发生进位 int main()
{int a10;int b20;//二进制层面每一位只有0/1两种可能aa^b; 此时a相当于在二进制层面上原来ab两数二进制各位的集合ba^b; 根据相同数亦或为0b中存储的是集合排除掉b后的结果即本来的aaa^b; 根据相同数亦或为0此时存储的是集合排除掉本来的a后的结果即b
} 6.位操作符的应用“求一个整数存储在内存的二进制中1的个数” 法一利用移位操作符 原理按位与1按位右移。统计32次后按位与1结果之和 代码演示 int main()
{int count0;for(int i0;i32;i){if((n1)1)1){count;}}return 0;
} 法二 利用二进制原理 原理 模%2相当于拿到二进制位中的最右边一位除/2相当于拿到二进制位中的最右边边以外的二进制序列 六.赋值操作符 1.连续赋值接收上一个运算的返回值 2.复合赋值符 七.逻辑操作符 1.逻辑操作符一览 逻辑与||逻辑或 2.区分 “逻辑与或” 和 “按位与或” 3.经典例题 例1逻辑与的“短路特性”——前面为0判定时后面不操作 例2逻辑或的“反短路特性”——前面为真判定时后面不操作 八.单目操作符 1.单目操作符一览 2.sizeof特性与操作规范 操作数的类型长度 操作规范 特性sizeof内部操作不改变原值 PS截断过程 九.其他操作符 1.下标引用操作符 2.函数引用操作符 :接受一个或多个操作数第一个操作数是函数名其余的操作数就是传递给函数的参数 演示 3.访问结构的成员操作符 演示 九.算术转换 十.隐式类型转换 1.概述 2.整型提升 一.正负数的整型提升 方法高位补符号位 3.截断 与整型提升char赋值给int相对的当int整型赋值给char时会发生截断。而运算时依照规定又要进行整型提升 涉及到运算时才会发生截断 十一.问题表达式问题 原理优先级虽然存在但与执行的次序存在不确定性 例1无法判断三个fun( )哪个先执行 例2无法判断是c开始先去--c还是先执行--c再c 十二.逗号表达式 1.逗号表达式 逗号表达式就是用逗号隔开的多个表达式逗号表达式从左向右依次执行。整个表达式的结果是最后一个表达式的结果 2.逗号表达式的实际应用——简化代码 优化前 aget_val();
count_val(a);
while(a0)
{业务处理aget_val();count_val(a);
} 优化后 aget_val();
count_val(a);
while(aget_val(),count_val(a),a0)
{业务处理
}