这和java没关系了。推到首页看看答案
解决方案 »
- google的一道JAVA面试题 求大虾帮帮
- Color中的getColor(string)怎么用啊
- 关于socket的问题,客户端可以向服务器端发送数据,但是收不到服务器的回发数据
- 编译出错,不知道为什么???关于内部类
- 需求工程的一道题目,熟悉点人的帮我解答下
- 正则表达式求教
- 请问多重try catch块和嵌套try catch块的区别是什么?
- 菜鸟一个,请大虾帮忙选书
- 进了sun 的网页
- 本人最近弄了一盘IBM WebSphere,所以想学JAVA,可一点基础都没有,所以请各位大哥传授些学习经验,外加好的学习资料或书。万分感激!!
- 字符串间距
- 用Jar打包了一组JAVA程序,但是用Java命令运行时却提示“没有主清单属性”
D,C,A,B
比如按位与(&)、按位或(|)、按位非(~)、按位异或(^)、左移(>>)、算数右移(<<)、逻辑右移(<<<),int a = 4 * 2; //值为8
int b = 4 << 1; //同样值为8,但运算速度快。
A B 算数运算有协处理器支持,但仍需有赋值
C 不知道 关系运算 是指什么度娘说:
关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。
以下以x86为基础描述:
逻辑判断:AND
算数运算:ADD
关系运算:JE
赋值运算:MOV
即使如此,每条汇编码又根据操作数(内存还是寄存器),是多少位的机器,还是有差异。
所以,最好是具体的代码,具体分析。
首先声明,我以前从没学过汇编,只是最近才接触,就现炒现卖了,不一定正确,勿喷,谢谢DB(AC)
D的复制运算我觉得是最快的,在计算机里就是一个mov指令,就是数据的传递
B算数运算,其实这个也不能绝对,因为要具体情况具体分析,简单的加减肯定非常快,因为CPU有对应的指令,求模、整数乘积和整数除法也是比较快的,因为处理器在处理的时候转换成加法和位运算,这个CPU有对应的指令
逻辑判断和关系运算我觉得有些笼统花了,这个排序真不好说
关系运算是指大于小于和等于这些关系的话,80X86的CPU也有对应的指令,(sete,seth等)
逻辑判断是值逻辑与或非吗?这些也有相应的指令。笼统的说我觉得是逻辑判断要大于关系运算,从各个指令需要的时钟数来感性判断
所以我的排序是
DBAC
A.逻辑判断:!a;
B.算术运算:a+b;
C.关系运算:a>b;
D.赋值运算:a=0;
A=B=C>D
1、纠正一下:是算术运算符不是算数运算符
2、扫下盲:
算术运算符包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
位操作运算符包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
3、友情提示:位操作不比算术运算快
关系运算如果理解成a和b比较大小之类的话,C,D速度差不多,如果算数仅仅是加减并且没有溢出处理的话和cd差不多,有溢出处理自然会慢点
逻辑判断arm都能2条指令搞定
算数这是计算机强项啊,至于关系运算这要看算法优劣了,
所以:由快到慢: D>A>B>C
其他类似.
C.关系运算 D.赋值运算int i=1; //这个比较快
User u = new User(); //这个会比 i>>2更快?
User u = new User(); //这个会比 i>>2更快?
关系运算,> < = >= <= <>等等,也有专用电路(数字比较器)可以实现,运算速度也是比较快的。
赋值,不管什么架构的处理器肯定都有这种指令,而且是使用频繁的指令,经过高度优化的,速度也是相当快的(在超标量架构下其等效时钟周期可以小于1)。
算术运算,种类太多,+ - << >>运算速度很快,接近逻辑和关系运算,但是* /慢很多,尤其是除法指令。如果涉及到浮点运算,就更慢了。
所以综合来说,运算速度A≈C≧D≧B(实际上在传统计算机中,应该是A≧C≧D≧B,不过在较新的架构中,比如intel core架构,比较+分支优化得很厉害,基本和逻辑运算相当)但是只能说理论上如此,具体到实际指令,情况还很复杂,操作数使用寄存器、内存、立即数还有分别,即便同样的操作,比如mov,mov r,r/i就比mov r,m快,而mov r,m比mov m,r快。
就我所知,在目前的intel架构中,最快的指令是xor eax,eax这类指令(注意不是普通的xor,而是源操作数和目的操作数使用同一寄存器,清0操作),延迟只有1个时钟周期,吞吐量达到4(意味着最多可以并行4条这种指令),要快于mov eax,0。
赋值运算,如果算是写到内存的话,那肯定是最慢的,powewrpc上100多周期。
如果算写入cache,前几年的powerpc是3个周期,最近是1个周期。但是无论哪种,都不太可能小于1。如果算超标量,就算每个周期抓取多条写指令,至少我所看到的cpu里面的load/sotre单元个数,总是小于取指令单元个数的。所以如果全是store指令,一段时间以后,流水线会塞满。这样,哪怕全都命中cache,写操作的平均时间就和单个写一样。欢迎讨论。
这种问题只能回答无可奉告。
我完全可以自行设计计算机,让4种中任意一个最快。