x=x+1, x+=1, x++的执行效率比较
来源:互联网 发布:铁三角msr7知乎 编辑:程序博客网 时间:2024/05/15 23:49
之前一直习惯性的认为x=x+1、x+=1和x++仅仅是书写表示方法的不同,没想到细细研究,差别还是不小的。
x=x+1 最低,因为它的执行过程如下:
- 读取右边变量 x 的内存地址;
- 执行 x+1;
- 读取左边变量 x 的内存地址;
- 将右边的值传给左边的变量 x(编译器并不认为左右两边的变量 x 的内存地址相同)。
首先寻找右面x的地址,然后读取地址中x的值,再在寄存器中将x的值加1,接着寻找左面x的地址(计算机是不知道左面的x就是右面的x的),再讲刚计算的结果存到左面的x的地址中。
x=+1 其次,它的执行过程如下:
- 读取右边变量 x 的内存地址;
- 执行 x=1;
- 将得到的值传给变量 x (因为变量 x 的内存地址已经读出)。
寻找x的地址,然后读取地址中x的值,再在寄存器中将x的值加1,接着将计算结果存到x的地址中(这里计算机知道读与写两个操作的地址是相同的)。
x++ 最高,它的执行如下:
- 读取右边变量 x 的内存地址;
- 变量 x 自增1。
寻找x的地址,然后读取地址中x的值,然后直接将地址中的值加1。
从上面的过程可以看出,x++比x+=1少了一个写的过程,而x+=1比x=x+1少了一个寻址的过程(查找左面x的地址),所以三条语句的效率是x = x + 1 < x += 1 < x++ 。
阅读全文
0 0
- x=x+1, x+=1, x++的执行效率比较
- X=X+1,X+=1,X++这三种使用方式的效率比较
- 关于x=x+1、x+=1、x++的执行效率问题
- x = x+1,x+=1,x++那个的执行效率高
- x=x&(x-1)
- x=x&(x-1)
- x = x&(x-1)
- x = x&(x-1)
- 题目:x=x+1; x+=1;x++的效率那个高?
- x=x+1,x+=1,x++的效率问题?
- x=x+1,x+=1及x++的效率哪个最高?
- x=x+1,x+=1,x++的效率哪个最高?
- x=x+1,x+=1,x++效率的两种说法
- x=x+1,x+=1,x++三个式子的效率谁最高
- x=x+1,x+=1,x++的区别
- x &= (x-1)
- x&(x-1)=?
- x=x+1、x+=1、x++、++x
- Intellij idea mybatis plugin插件的安装与破解
- Gym 101612BBoolean Satisfability
- fedora环境的搭建
- spring mvc 返回json的配置
- 机器学习笔记一:导论
- x=x+1, x+=1, x++的执行效率比较
- 第九章自定义标签第三节自定义有属性的标签
- mysql数据库离线安装
- 安全框架Drozer和磁盘加密-Android
- 第十三届ACM"新秀杯"程序设计大赛网络热身赛(泉水题)
- 数论:二分快速取余
- 在VM虚拟机中安装Centos操作系统
- java8-HashMap源码分析
- virtualbox 安装centos6.5 之后上网问题