首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

> >= 效率解决办法

2013-08-16 
、 效率经常遇到 a100这种判断的时候,有点想写成a101这种的冲动.虽然知道即使它们之间有差别,也就是

>、 >= 效率
经常遇到 a>=100这种判断的时候,有点想写成a>101这种的冲动.
虽然知道即使它们之间有差别,也就是传说中i++和++i的区别.

但本人就是想知道一下,它们之间效率有没有差别?
[解决办法]
如果真是要比较2次,那编译器是会自动优化成a>99的
当然,仅限int,float就不知道了.
[解决办法]

2. 条件转移指令 (短转移,-128到+127的距离内)( 当且仅当(SF XOR OF)=1时,OP1<OP2 )
    JA/JNBE     不小于或不等于时转移.
    JAE/JNB     大于或等于转移.
    JB/JNAE     小于转移.
    JBE/JNA     小于或等于转移.
        以上四条,测试无符号整数运算的结果(标志C和Z).
    JG/JNLE     大于转移.
    JGE/JNL     大于或等于转移.
    JL/JNGE     小于转移.
    JLE/JNG     小于或等于转移.
        以上四条,测试带符号整数运算的结果(标志S,O和Z).
    JE/JZ       等于转移.
    JNE/JNZ     不等于时转移.
    JC          有进位时转移.
    JNC         无进位时转移.
    JNO         不溢出时转移.
    JNP/JPO     奇偶性为奇数时转移.
    JNS         符号位为 "0" 时转移.
    JO          溢出转移.
    JP/JPE      奇偶性为偶数时转移.
    JS          符号位为 "1" 时转移.

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。

------解决方案--------------------


写个>
写个>=
产生汇编码
查Intel手册,看两个汇编码分别需要几个时钟周期

热点排行