C++的判断表达式 <=,!=,<之间有什么区别

这个区别可以忽略,今天看书突然想了一下,做个记录.

下面这段代码中:

for(int i=0;i<8;++i){

}

for(int i=0;i!=8;++i){

}

for(int i=0;i<=7;++i){

}

硬要说区别, 第二种方法循环,因为会稍微快一点,从底层的角度说, 第二种方法更好的利用了流水线

引用: 

C/C++语言的比较运算符反应到汇编层面上效率应该都差不多。我的clang编译出 第一句用了jge 第二句用了je 第三句用了jg 汇编指令要相差也只能相差一两个时钟周期, 倒是SQL里面的< <=之间有比较大的差异

汇编指令JE, JEG有什么不同

一.功能不同

1.JG:大于转移指令

2.JGE:大于或等于转移指令

 

 二.语法不同

1.JG: JG 前>后 Jump if greater

2.JGE: JEG 前>=后 Jump if greater or equal

三.用处不同

1.JG: 用于对比寄存器中两个对象的大小

2.JGE: 用于对比内存中两个对象的大小关系

 

JE

JE指令是汇编里面的一个跳转指令,功能是在ZF等于0时进行跳转,也就是相等的时候跳转。

如果相等则跳转(指令:JE、外语全称:Jump if Equal) 是汇编语言中的一个条件转移指令

 

感觉没抓到重点,下次再看吧=_=

参考:

https://bbs.csdn.net/topics/390394771?page=1

https://www.wendadaohang.com/zd/A5GnKKWWW.html

 

posted @ 2022-07-10 17:59  小柴i  阅读(552)  评论(0编辑  收藏  举报