欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年02月09日 11:25:28   作者:zhuyangxing  
這篇文章主要介紹了java基于移位操作實現(xiàn)二進制處理的方法,結(jié)合實例形式分析了java針對二進制的移位操作處理技巧,需要的朋友可以參考下

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

/**
 * @author openks
 * @since 2013-9-21 移位操作實例
 */
public class TestDisplacement {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // 十進制數(shù)字2向左移3位 即 二進制的10向左移3位即10000 轉(zhuǎ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("可見2的N次方和1左移N位的值相等。。");
  }
}

/**
 * @author openks
 * @since 2013-9-21
 * 二進制十進制的處理 可用于權(quán)限控制 可最多管理32項權(quán)限
 */
public class TestBinary {
  /**
   * 獲取十進制數(shù)字k轉(zhuǎn)換為二進制后第index位的值
   * @param k 十進制數(shù)字
   * @param index 第index位 (從1開始)
   * @return 十進制數(shù)字轉(zhuǎn)換為二進制后第index位的值
   */
  public static int getValue(Integer k,int index){
    String string = Integer.toBinaryString(k);
    int len = string.length();
    System.out.println("二進制串為:"+string+"\n共有"+len+"位");
    if(index>len){
      return 0;
    }else{
      return string.charAt(len-index)-'0';
    }
  }
  /**
   * 設(shè)置十進制數(shù)字k轉(zhuǎn)換為二進制后第index位的值并返回處理后的十進制數(shù)字
   * @param k 十進制數(shù)字k
   * @param index 第index位 (從1開始)
   * @param m 該index位上的值 只有0,1兩種選擇
   * @return 處理后的十進制數(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;//原來權(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:這里再為大家推薦幾款計算與轉(zhuǎn)換工具供大家參考使用:

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

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

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

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

相關(guān)文章

  • JAVA入門教學(xué)之快速搭建基本的springboot(從spring boot到spring cloud)

    JAVA入門教學(xué)之快速搭建基本的springboot(從spring boot到spring cloud)

    本文主要入門者介紹怎么搭建一個基礎(chǔ)的springboot環(huán)境,本文通過圖文并茂的形式給大家介紹從spring boot到spring cloud的完美搭建過程,適用java入門教學(xué),需要的朋友可以參考下
    2021-02-02
  • JavaWeb中過濾器Filter的用法詳解

    JavaWeb中過濾器Filter的用法詳解

    過濾器通常對一些web資源進行攔截,做完一些處理器再交給下一個過濾器處理,直到所有的過濾器處理器,再調(diào)用servlet實例的service方法進行處理。本文將通過示例為大家講解JavaWeb中過濾器Filter的用法與實現(xiàn),需要的可以參考一下
    2022-08-08
  • 詳解Java串行化接口的用法和原理

    詳解Java串行化接口的用法和原理

    在Java開發(fā)中,我們經(jīng)常需要將對象進行序列化和反序列化,以便在網(wǎng)絡(luò)傳輸或存儲到持久化介質(zhì)中,Java提供了一種機制,即通過實現(xiàn)Serializable接口來實現(xiàn)對象的串行化,本文將詳細(xì)介紹Java串行化接口的用法和原理,以及一些相關(guān)的注意事項,需要的朋友可以參考下
    2023-11-11
  • IDEA中配置操作Git的詳細(xì)圖文教程

    IDEA中配置操作Git的詳細(xì)圖文教程

    這篇文章給大家詳細(xì)介紹在IDEA中配置Git,IDEA中操作Git的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-10-10
  • 使用java操作elasticsearch的具體方法

    使用java操作elasticsearch的具體方法

    本篇文章主要介紹了使用java操作elasticsearch的具體方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Java8之lambda最佳實踐_動力節(jié)點Java學(xué)院整理

    Java8之lambda最佳實踐_動力節(jié)點Java學(xué)院整理

    在8 里面Lambda是最火的主題,不僅僅是因為語法的改變,更重要的是帶來了函數(shù)式編程的思想,我覺得優(yōu)秀的程序員,有必要學(xué)習(xí)一下函數(shù)式編程的思想以開闊思路
    2017-06-06
  • Java實現(xiàn)布隆過濾器的幾種方式總結(jié)

    Java實現(xiàn)布隆過濾器的幾種方式總結(jié)

    這篇文章給大家總結(jié)了幾種Java實現(xiàn)布隆過濾器的方式,手動硬編碼實現(xiàn),引入Guava實現(xiàn),引入hutool實現(xiàn),通過redis實現(xiàn)等幾種方式,文中有詳細(xì)的代碼和圖解,需要的朋友可以參考下
    2023-07-07
  • 深入理解Java中的類加載器原理

    深入理解Java中的類加載器原理

    這篇文章主要介紹了深入理解Java中的類加載器原理,類加載器負(fù)責(zé)加載所有的類,系統(tǒng)為所有被載入內(nèi)存中的類生成一個java.lang.Class實例,需要的朋友可以參考下
    2024-01-01
  • java 動態(tài)生成bean的案例

    java 動態(tài)生成bean的案例

    這篇文章主要介紹了java 動態(tài)生成bean的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring如何正確注入集合類型

    Spring如何正確注入集合類型

    這篇文章主要介紹了Spring如何正確注入集合類型,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論