时间换空间的方案解决嵌入式系统中性能问题

fcwangbing   2011-5-10 19:10 楼主
    时间换空间的方案解决性能问题的情形比较少。有时会出现在对内存要求十分苛刻的地方,比如嵌入式操作系统中。
程序设计的要求是不设中间变量,交换两个变量的值。

我们通常的中间变量的解决方案是:

但这里需要在程序中为temp变量在栈上分配一个空间。可不可以不用这个temp变量呢?

解决:
修改程序如下:

原理:修改之后,多了运算复杂度,但没有使用第三方变量,减少了空间的占用。

回复评论 (2)

溢出

 

点赞  2011-5-11 10:28
达到溢出后,可能让正数变成负数。 

可以试一下 比如 32768达到溢出 a=32767 与 b=1
则a+b=32768=-1
    b=a-b=-1-1=-2
    a=a-b=-1-(-2)=1

显然结果不正确
独自上路,径直潜行
点赞  2011-5-11 11:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复