初赛第二次课主要讲了:位运算、计算机编码、排列组合、系统软件
一:位运算
c++中位运算主要有六种,分别是:按位与,按位或,按位异或,按位取反,左移和右移。
1.按位与(&):
有两个十进制数a和b
a&b过程为:
将a和b转为二进制数
将两结果按位从低到高位对齐,如果高位无法对齐,不足位置补0
逐位进行按位与运算
当&两边都是一位数且两边都是1时才是1,否则为0
2.按位或[可兼或](|):
将a和b转为二进制数
将两结果按位从低到高位对齐,如果高位无法对齐,不足位置补0
逐位进行按位与运算
当|两边都是一位数且只要有一个1时,结果为1,否则为0
3.按位异或:
将a和b转为二进制数
将两结果按位从低到高位对齐,如果高位无法对齐,不足位置补0
逐位进行按位与运算
如果a和b相同,结果为0,否则为1
4.取反:
对一个十进制数a取反
a转二进制
逐位取反,0变成1,1变成0
5.左移:
对一个十进制数a左移x位
a转二进制
在n后添补x个0,相当于左移x位.(乘以2的x次方)
6.右移:
对一个十进制数a右移x位
a转二进制
去掉n后x位,相当于右移x位.(除以以2的x次方)
———————————————————————————————————————
二.计算机编码:
1.原码:
由符号位和数值部分组成
符号位为0 代表数值为正
符号位为1 代表数值为负
2.反码:
由符号位和数值部分组成
当数值部分为正数时,同原码格式同样
当数值部分为负数时,符号位为1,数值部分是数字各个位数取反
3.补码:
由符号位和数值部分组成
当数值部分为正数时,同原码格式同样
当数值部分为负数时,在反码基础上加1
———————————————————————————————————————
三.排列组合:
1.排列:
从n个不同元素中,
任取m个元素按照一定的顺序排成一列,
称作从n个不同元素中取出m个元素的一个排列,
从n个不同元素中取出m个元素的所有排列的个数,
称作从n个不同元素中取出m个元素的排列数,
排列数用符号A(n,m)表示
公式:
A(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!
2.组合:
从n个不同元素中,
任取m个元素组成一组
称作从n个不同元素中取出m个元素的一个组合;
从n个不同元素中取出m个元素的所有组合的个数,
称作从n个不同元素中取出m个元素的组合数
组合数用符号C(n,m) 表示
公式:
C(n,m)=p(n,m)/m!=n!/((n-m)!*m!);
c(n,m)=c(n,n-m);
———————————————————————————————————————
四.系统软件
系统软件管理:进程,存储器,设备,文件
种类分为:嵌入式系统,类Unix系统,微软Windows系统,苹果电脑的MacOS系统