我在网上看到关于MSP430C程序代码的优化
a = a* 9 ; 用
a =(a<<3)+a;
但是我看了好久都没有看出规律呀
Hardy Hu:
再举个例子,比如a=a*15,则可改写成a=a*8+a*4+a*2+a=(a<<3)+(a<<2)+(a<<1)+a
Peter_Zheng:
这就是用移位,加法来替乘法运算。C语言需要编译为汇编语言,乘法所占用的汇编代码比较大,所以在没有硬件乘法器的时候可以使用其他方式来代替乘法运算。这只是C程序优化的一小部分
我在网上看到关于MSP430C程序代码的优化
a = a* 9 ; 用
a =(a<<3)+a;
但是我看了好久都没有看出规律呀
再举个例子,比如a=a*15,则可改写成a=a*8+a*4+a*2+a=(a<<3)+(a<<2)+(a<<1)+a
这就是用移位,加法来替乘法运算。C语言需要编译为汇编语言,乘法所占用的汇编代码比较大,所以在没有硬件乘法器的时候可以使用其他方式来代替乘法运算。这只是C程序优化的一小部分
MSP430FR6043: F1 to F2 Sweep模式怎么确定合适的F1和F2频率?
EVM430-FR6047: 如何使用SBW调试EVM430-FR6047
MSP430FR6047: 如何移植TI-RTOS
LP-MSPM0G3507:温度异常,运行时3507主控芯片表面40度到50度间不断变化(烫手)
MSP430FR6043: msp430fr6043发射随着温度变化特性怎么消除