嵌入式每日学习心得2017.07.13

来源:互联网 发布:如何评价地狱边境 知乎 编辑:程序博客网 时间:2024/05/29 19:24
进制:表数方式,是几进制,就逢几进一

十进制 : 逢十进一    ( 9  ~  0)     (123)10
百  十  个
1    3  0

二进制: 逢二进一   (1 ~ 0)      (  )2

八进制: 逢八进一 (7 ~ 0)    
  
   0123 

八 -》 十    3*8^0+2*8^1+1*8^2 

八 -》  二   001 010 011

十六进制: 逢十六进一 (f ~ a   9 ~ 0) 

0x321     0X321

-> 十    1*16^0+2*16^1+3*16^2
-> 二    0011 0010 0001
-> 八    001 100 100 001      01441

十进制   -》  二进制

23  -》  0111 1011

 123/2 = 61   ... 1  1*2^6
  61/2  = 30   ... 1  1*2^5
  30/2  = 15   ... 0  0*2^4
  15/2  = 7    ... 1  1*2^3
  7/2   = 3    ... 1  1*2^2
  3/2   = 1    ... 1  1*2^1
  1/2   = 0    ... 1  1*2^0


<>  表示对应语言的标准库
“”表示用户自定义的函数库


区别:主要体现在,编译的时候,编译器查找函数的声明的过程。
< >   先找 标准库 -》  链接库 -》 其他库函数库(当前路径)
“ ” 先找 (当前路径)-》标准库 -》  链接库 

效率问题:查找的速度

运算符(操作符,Operator):实现运算功能的一些符号


操作数:参与运算的数据


从运算功能分类:

算术运算符:+, -, *, /, -(负号), %(模运算符), ++(自增), --(自减)
比较运算符:>, >=, <, <=, ==, !=,比较运算符的运算结果是一个布尔(逻辑)值,即真或假
逻辑运算符:!(逻辑非), &&(逻辑与), ||(逻辑或),运算结果是一个逻辑值
位运算符:~(按位取反), &(按位与), |(按位或), ^(按位异或,相同为0,相异为1), >>(按位右移), <<(按位左移).  注意位运算符的操作数只能为整数类型或字符类型
条件运算符:(操作数1)?(操作数2):(操作数3)
赋值运算符:=,其运算结果就是其左值,运算效果是将右值赋给左值
复合赋值运算符:+=, -=, *=, ~=, &=等
逗号运算符:,,其运算结果为右操作数


四舍六入五单进

从所带操作数的个数分类:

一元(单目)运算符:-(符号), ++, --, !, ~等
二元(双目)运算符:+, -, ,等
三元(三目)运算符:?:


按位右移有两种不同的实现:算术右移(高位填充符号位)和逻辑右移(高位填充0),大多数系统都采用算术右移实现


运算功能是由CPU实现的,CPU从内存中取操作数进行运算,并将运算结果写回内存
CPU:Central Process Unit,中央处理器,由运算器和控制器构成,负责运算和控制的功能,它是计算机的核心,如同人的大脑皮层


运算符的优先级和结合性


赋值运算符是右结合性的,即从右向左依次运算


表达式(Expression):由变量、常量、运算符等构成的式子
表达式的值和类型


加密(Encrypt):将一个数据(称为明文)使用某个方法(称为加密算法)进行处理之后得到一个新的数据(称为密文)
解密(Decrypt):加密的逆过程
密钥(Key):用于加密或解密的数据,如同钥匙的功能


加密算法分为对称加密算法(加密和解密使用的密钥相同,例如:异或加密算法,DES,AES等)、非对称加密算法(加密和解密使用的密钥不同,比如:RSA等)和单向加密算法(只能加密,无法解密,例如:MD5,SHA等)


MD5加密结果是定长的(128位),不同的数据采用MD5或SHA算法加密之后的结果不同,所以可以使用加密结果作为这些数据的"指纹"


异或加密算法:基于异或运算符的运算特点(对于任意两个整数a和b, 则a^b^b=a成立)

流程控制结构:
1.顺序结构:从上往下逐行执行
2.分支结构:根据条件不同程序的执行流程也不同
3.循环结构:重复执行若干条语句

分支结构是通过if和switch实现的


代码块(Code Block):用花括号括起来的若干条语句


分支结构可以嵌套使用,但建议嵌套层次不能太多,否则影响代码的可读性
原创粉丝点击