始终记住自己是程序猿!!!

        这篇文章献给自己的职业——程序猿   By Coder的不平庸

        今天这篇文章直奔主题,今下午自己在做关于char这个类型深入理解的时候,查到资料,char在java里面是16位,自己思维就到了2的16次方是多少?  随性用cmd输入calc打开计算器,选择程序猿型(事实上程序猿对这个幂的计算式应该比較敏感的,自己还要不断学习和领悟),然后始终找不到幂运算的符号,我记得曾经用过这个运算啊,怎么今儿找不到了。在计算器点了半天后,突然“呵呵”一笑,我忘记了我自己的职业——程序猿。

        恩。对,我是程序猿,这么小小的一个运算问题自己随便写一个循环就能算出结果。

于是打开Eclipse。写了一个for循环。算出了结果。

。。再得到结果的时候我突然想这是不是不太高效?  是不是能够用其它方法来把它算出来?   于是大家也知道,移位操作能够解决。于是输出2<<15就能得到结果。得到结果的我并不满足。我想这两个操作究竟谁的速度更快。做了一个測试。毋庸置疑,移位操作的更快,然后我脑海又想起大学里面学的课程《计算机组成原理》,《计算机操作系统》等等(尽管没认真听 - -!)【看来大学里面学的课程不一定全都是无用的。这一点一定要坚信!,相信自己所学的。】,于是得到了以下的思维构图:

        我记得曾经做过一个測试,把移位和循环来比,看哪个速度更快,有时候循环更快,有时候移位快。从理论上。必须是移位更快啊!!

于是在网上找相关问题。看到一个人回答的问题:假设目标系统有乘法指令,硬件的乘法比自己移位实现乘法要快。假设目标系统没有乘法指令,编译器会用移位实现乘法,这通常比自己实现的乘法要快; 恩。对,编译器会优化,你想看到效果不一定看的到。

      

               我想这或许是程序猿这个职业所给我带来的一些思维上的改变,我想假设以后遇到类似的问题,我也应该用这样的求知欲望,多从网上找到一些细节东西。来丰富论证。这样收获的很多其它吧。

               所以:始终记得自己是程序猿【这是多么崇高的词啊!

可不是贬义词的 :)】 。体会编程的乐趣。



原文地址:https://www.cnblogs.com/lcchuguo/p/5165661.html