1.对嵌入式名词的理解 (国际IEEE给出的定义)
2对vim编程的深层次理解 (命令模式下)
VIM 进阶
命令模式下 :复制YY (光标那一行)
Myy//复制从光标所在行开始M行内容
Np //粘贴
// N表示数字 可以粘贴N份
shift+v//行选中 配和方向键 选中多行 选中的情况下 按一下Y就是复制 p粘贴
ctrl+v//块选中
u撤销
ctrl+r 反撤销
dd//删除光标所在那一行
x//删除光标所在字符
dd加p //剪切的效果
3,对字符的学习 等等(零碎知识点)
根据数据类型可以分为:整型, 浮点型, 字符型
给定的数据类型不同----下达的机器指令也不同----最终使用硬件的部件也不同
十六进制<==>二进制
1位十六进制数对应4位二进制数
八进制<==>二进制
1位八进制数对应3位二进制数
二进制<==>十进制:
加权求和
变量形式:描述一个变量
语法:数据类型 变量名;
整型:int //(40多亿)
short //(65535)
long // (量很多)
long long //(更多)
signed/unsigned(有符号基本整型/无符号基本整型)
sizeof //看数据类型所占字符的大小
int a;
变量名起名://标识符
1.数字,字母,下划线
2.数字不是开头
3.区分大小写
4.不能和关键字重名
5.不要和系统二级关键字重名 eg include (预处理的命令)
6.不能和库函数重名
int a = 10;//初始化 开空间的同时给了值
int a;
a = 10;//赋值 (注意区分)
0x12345678
大端存储
小端存储
高高低低
高位数据 存储在 高地址处
地位数据 存储在 低地址处
补码 正数不变 负数 反码+1
有符号数 // 包含了 正数负数
无符号数 // 不包含符号位 包含非负数
结论:整数 计算机中存的都是补码
正数 原码 反码 补码 都是一样
负数 求补码=反码+1
整型的溢出:(上/下溢出)
1111 1111 1111 1111
+ 1
---------------------------
1 0000 0000 0000 0000
unsigned short i = 0;
i = i - 1;
printf("i = %d\n",i);
0000 0000 0000 0000
- 1
------------------------------
1 1111 1111 1111 1111
总结
1.常量形式
2.变量形式
3.数据类型
a.数据存储
字节序 (大端、小端)
数值的存储
(补码形式)
b.数据类型大小
c.考点
整型的溢出
4.对浮点型字符的认识
浮点型:
1.常量形式
1.234
1.2e3 //科学计数法形式 //1.2*10^3
1.2E3 //e后面 可以是正数 或 负数 不能是小数
2.变量形式
float //单精度
double //双精度
3.数据类型
存储
6.25
step1: 将小数 转换为 二进制形式的小数
整数部分: (除2取余法)
0110
小数部分:(乘2取整法)
0.25 * 2 = 0.5 --- 0
0.5 * 2 = 1 --- 1
组合:
0110.01
step2:将二进制形式的小数,写成科学计数法形式
1234.56 ---> 1.23456*10^3
110.01 ---> 1.1001 * 2^2 //科学计数法形式
step3:按照 IEEE 754 标准 存放
1位 符号位|8位-指数位|尾数位
| |
0 | 2 + 127 |
| -127~128 |
1000 0001 1001 0000 0000 0000 0000
0100 0000 1100 1000 0000 0000 0000 0000
4 0 c 8 0 0 0 0
double 8字节
符号位|指数位|尾数位
| 11位|52位
+1023
float
符号位|指数位|尾数位
| 8 位|23位
+127
浮点数的比较问题
精度问题
浮点常量的类型:
默认识别为double类型
0.9f //表示识别为 float类型
0.9L //L表示long double
整型常量:
说明类型
123L //long int
123LL //long long int
123UL //unsigned long int
----------------------------------
字符型:
a b c
"tom"
t <--->0100101010
a <--->0101010
编码
ASCII //
字符数据:
存到计算机
a ---> 编码值 (数值) ---> 无符号的整数
常量形式:
'a' //字符常量
变量:
char ch; //tiny int
unsigned char [0~2^8-1] //255
signed char [-128~127]
ascii表:
0~32 控制字符 不可见
'0'~'9' //48~57
'A'~'Z' //65~90
'a'~'z' //97~122
'0' ----- 0
大小写转换
加减32