真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java基于移位操作實(shí)現(xiàn)二進(jìn)制處理的方法示例

本文實(shí)例講述了java基于移位操作實(shí)現(xiàn)二進(jìn)制處理的方法。分享給大家供大家參考,具體如下:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、河曲網(wǎng)站維護(hù)、網(wǎng)站推廣。

/**
 * @author openks
 * @since 2013-9-21 移位操作實(shí)例
 */
public class TestDisplacement {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // 十進(jìn)制數(shù)字2向左移3位 即 二進(jìn)制的10向左移3位即10000 轉(zhuǎn)換為十進(jìn)制為2的4次方 即16
    System.out.println("2向左移三位:" + (2 << 3));
    System.out.println("7向左移一位:" + (7 << 1));
    System.out.println("7向右移一位:" + (7 >> 1));
    int n = 3;
    System.out.println("2的" + n + "次方:" + (int) Math.pow(2, n));
    System.out.println("1向左移" + n + "位:" + (1 << n));
    System.out.println("可見(jiàn)2的N次方和1左移N位的值相等。。");
  }
}

/**
 * @author openks
 * @since 2013-9-21
 * 二進(jìn)制十進(jìn)制的處理 可用于權(quán)限控制 可最多管理32項(xiàng)權(quán)限
 */
public class TestBinary {
  /**
   * 獲取十進(jìn)制數(shù)字k轉(zhuǎn)換為二進(jìn)制后第index位的值
   * @param k 十進(jìn)制數(shù)字
   * @param index 第index位 (從1開(kāi)始)
   * @return 十進(jìn)制數(shù)字轉(zhuǎn)換為二進(jìn)制后第index位的值
   */
  public static int getValue(Integer k,int index){
    String string = Integer.toBinaryString(k);
    int len = string.length();
    System.out.println("二進(jìn)制串為:"+string+"\n共有"+len+"位");
    if(index>len){
      return 0;
    }else{
      return string.charAt(len-index)-'0';
    }
  }
  /**
   * 設(shè)置十進(jìn)制數(shù)字k轉(zhuǎn)換為二進(jìn)制后第index位的值并返回處理后的十進(jìn)制數(shù)字
   * @param k 十進(jìn)制數(shù)字k
   * @param index 第index位 (從1開(kāi)始)
   * @param m 該index位上的值 只有0,1兩種選擇
   * @return 處理后的十進(jìn)制數(shù)字
   */
  public static int setValue(Integer k,int index,Integer m){
    //相當(dāng)于2的index-1次方
    Integer t = 1<<(index-1);
    if(t>k){
      if(m==1){
        return t+k;
      }else{
        return k;
      }
    }else{
      int m1 = getValue(k,index);
      if(m1==0){
        return k+t;
      }else{
        return k-t;
      }
    }
  }
  /**
   * @param args
   */
  public static void main(String[] args) {
    int a=25;//原來(lái)權(quán)限值
    int i=2;//要查看的位數(shù)
    int d = 2;//要修改的位數(shù)
    a= setValue(a, d, 1);//修改第d位的值為1
    System.out.println("第"+i+"位的值為:"+getValue(a,i));
  }
}

PS:這里再為大家推薦幾款計(jì)算與轉(zhuǎn)換工具供大家參考使用:

在線任意進(jìn)制轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/hexconvert

科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue

在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。


網(wǎng)站標(biāo)題:java基于移位操作實(shí)現(xiàn)二進(jìn)制處理的方法示例
本文地址:http://weahome.cn/article/jdpdeo.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部