2016四月学习笔记
2016-04-23 21:19
267 查看
1.整形数运算要比浮点数运算快得多,因为处理器可以直接进行整型数运算,浮点数运算需要依赖于外部的浮点数处理器或者浮点数数学库。使用的数不可能是负数的时候,应该使用unsigned
int取代int,一些处理器处理整数算数运算的时候unsigned int比int快.
2.除法运算比乘法运算更加耗时,所以我们可以尽量使用x代替÷。除数或者乘数是2的幂,可以使用移位运算<<,>>,如MOOC中第七章的练习。
3.全局变量不会被分配在寄存器上,修改全局变量需要通过指针或者调用函数的方式间接进行。所以编译器不会将全局变量存储在寄存器中,那样会带来额外的、不必要的负担和存储空间。所以应尽量使用局部变量,如将将变量定义在函数中。
int f(void);
int g(void);
int errs;
void test1(void)
{
errs += f();
errs += g();
}
void test2(void)
{
int localerrs = errs;
localerrs += f();
localerrs += g();
errs = localerrs;
}
……
4.
int取代int,一些处理器处理整数算数运算的时候unsigned int比int快.
2.除法运算比乘法运算更加耗时,所以我们可以尽量使用x代替÷。除数或者乘数是2的幂,可以使用移位运算<<,>>,如MOOC中第七章的练习。
3.全局变量不会被分配在寄存器上,修改全局变量需要通过指针或者调用函数的方式间接进行。所以编译器不会将全局变量存储在寄存器中,那样会带来额外的、不必要的负担和存储空间。所以应尽量使用局部变量,如将将变量定义在函数中。
int f(void);
int g(void);
int errs;
void test1(void)
{
errs += f();
errs += g();
}
void test2(void)
{
int localerrs = errs;
localerrs += f();
localerrs += g();
errs = localerrs;
}
……
4.
相关文章推荐
- WeakReference的使用
- LiatView下拉图片放大
- 一个Servlet的实例
- 1026 Sudoku Killer
- 引导页中ViewPage的使用
- GitHub 里的笔记
- ArcObjects c++ 获取栅格或矢量图层的范围
- 欢迎页实现
- Java-Struts2:Can not access a member of class with modifiers "public"
- Navicat 提示Cannot create oci environment 解决方案
- 剑指offer-从尾到头打印链表
- HDU 5191 Building Blocks
- 站立会议个人博客5(2016/4/23)
- 学习笔记:使用 OpenCV 识别 QRCode 转载自why的blog
- 项目自定义Preferences
- 创建struts2支持的第一个应用(二)
- 通过RAII机制实现资源的自动释放
- php基本符号大全
- 第一阶段冲刺个人博客06
- 时间日期工具类(相关转化)