posts - 41,  comments - 40,  trackbacks - 0

          /*******************************************************************************
          ?*
          ?* 乘除法和等效的位運算
          ?*
          ?* 1024 = 2*2*2*2*2*2*2*2*2*2 = 100 0000 0000
          ?*
          ?******************************************************************************/
          class BitOperation
          {
          ? public static void main( String[] args )
          ? {
          ??? //被除數(shù)
          ??? long dividend=182495073L;

          ??? long temp=0L;

          ??? long begin=0L;


          ??? ////////////////////////////////////////////////////////////////////////////
          ??? //
          ??? // dividend/1024等效于dividend>>10
          ??? //
          ??? ////////////////////////////////////////////////////////////////////////////
          ??? begin=System.currentTimeMillis();

          ??? for( int i=0; i<10000000; i++ )
          ?????? {
          ???????? temp=dividend/1024;
          ?????? }

          ??? System.out.println( temp+" 總共耗時:"+( System.currentTimeMillis()-begin )+"毫秒" );

          ??? begin=System.currentTimeMillis();

          ??? for( int i=0; i<10000000; i++ )
          ?????? {
          ???????? temp=dividend>>10;
          ?????? }

          ??? System.out.println( temp+" 總共耗時:"+( System.currentTimeMillis()-begin )+"毫秒\r\n" );


          ??? ////////////////////////////////////////////////////////////////////////////
          ??? //
          ??? // dividend*1024等效于dividend<<10
          ??? //
          ??? ////////////////////////////////////////////////////////////////////////////
          ??? begin=System.currentTimeMillis();

          ??? for( int i=0; i<10000000; i++ )
          ?????? {
          ???????? temp=dividend*1024;
          ?????? }

          ??? System.out.println( temp+" 總共耗時:"+( System.currentTimeMillis()-begin )+"毫秒" );

          ??? begin=System.currentTimeMillis();

          ??? for( int i=0; i<10000000; i++ )
          ?????? {
          ???????? temp=dividend<<10;
          ?????? }

          ??? System.out.println( temp+" 總共耗時:"+( System.currentTimeMillis()-begin )+"毫秒\r\n" );


          ??? ////////////////////////////////////////////////////////////////////////////
          ??? //
          ??? // dividend%1024等效于dividend-( dividend>>10<<10 )
          ??? //
          ??? ////////////////////////////////////////////////////////////////////////////
          ??? begin=System.currentTimeMillis();

          ??? for( int i=0; i<10000000; i++ )
          ?????? {
          ???????? temp=dividend%1024;
          ?????? }

          ??? System.out.println( temp+" 總共耗時:"+( System.currentTimeMillis()-begin )+"毫秒" );

          ??? begin=System.currentTimeMillis();

          ??? for( int i=0; i<10000000; i++ )
          ?????? {
          ???????? temp=dividend-( dividend>>10<<10 );
          ?????? }

          ??? System.out.println( temp+" 總共耗時:"+( System.currentTimeMillis()-begin )+"毫秒\r\n" );
          ? }
          }

          posted on 2007-09-17 09:17 NeedJava 閱讀(3123) 評論(3)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 阜新市| 和平县| 建湖县| 北票市| 甘德县| 永济市| 瓮安县| 榆社县| 长春市| 克什克腾旗| 疏勒县| 吴忠市| 霸州市| 寻甸| 玉树县| 东乡族自治县| 临漳县| 新晃| 通江县| 都昌县| 扬中市| 东港市| 长顺县| 杨浦区| 德格县| 江西省| 彭阳县| 宿州市| 洛南县| 北安市| 广南县| 太原市| 隆回县| 吐鲁番市| 永修县| 永兴县| 息烽县| 隆尧县| 来安县| 商水县| 陇西县|