程序的复杂度包含时间复杂度和空间复杂度,而随着计算机硬件的发展,渐渐放低了对空间复杂度的要求,在很多情况下,为了换取程序的执行效率,牺牲计算机的空间。比如字符串的相关操作、使用缓存技术等。
时间复杂度更低、效率更高的算法可以提高执行效率。一个简单的例子,计算1~100这些数的和,可以循环100次,也可以直接使用求和公式,在执行效率上,是显而易见的。
汇编代码是低级语言,直接操作硬件,理论上更快,但使用汇编对编程人员的要求相对较高,同时编译器的优化做得也非常好,最后也会降低程序的可移植性,三思而后行吧。
/*实现了a=a+b+c*/
__asm
{
push eax
mov eax,a
add eax,b
add eax,c
mov a,eax
pop eax
}
在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用”位运算”来完成所有的运算和操作。
/*如:x=7,二进制:0000 0111*/
x<<1; /*0000 1110,相当于:x =2*7=14 */
原文地址:http://blog.csdn.net/tlzhatao/article/details/45458229