Example of java's method for implementing binary processing based on shift operations

  • 2020-06-03 06:42:02
  • OfStack

An example of java based on shift operation is presented in this paper. To share for your reference, specific as follows:


/**
 * @author openks
 * @since 2013-9-21  Shift operation instance 
 */
public class TestDisplacement {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // 10 Hexadecimal Numbers 2 Moving to the left 3 position   namely  2 Into the system 10 Moving to the left 3 Who that is 10000  convert 10 Into the system for 2 the 4 To the power   namely 16
    System.out.println("2 Moving to the left 3 A: " + (2 << 3));
    System.out.println("7 Moving to the left 1 A: " + (7 << 1));
    System.out.println("7 Move to the right 1 A: " + (7 >> 1));
    int n = 3;
    System.out.println("2 the " + n + " The power: " + (int) Math.pow(2, n));
    System.out.println("1 Moving to the left " + n + " A: " + (1 << n));
    System.out.println(" visible 2 the N The power and 1 Shift to the left N The values of the bits are equal. ");
  }
}


/**
 * @author openks
 * @since 2013-9-21
 * 2 Into the system 10 Base processing   Can be used for permission control   Maximum management 32 A permissions 
 */
public class TestBinary {
  /**
   *  To obtain 10 Hexadecimal Numbers k convert 2 Into the system after the first index The value of a 
   * @param k 10 Hexadecimal Numbers 
   * @param index  The first index position   (from 1 Start) 
   * @return 10 Convert base number to 2 Into the system after the first index The value of a 
   */
  public static int getValue(Integer k,int index){
    String string = Integer.toBinaryString(k);
    int len = string.length();
    System.out.println("2 The base string is: "+string+"\n A total of "+len+" position ");
    if(index>len){
      return 0;
    }else{
      return string.charAt(len-index)-'0';
    }
  }
  /**
   *  Set up the 10 Hexadecimal Numbers k convert 2 Into the system after the first index The value of the bit and returns the processed 10 Hexadecimal Numbers 
   * @param k 10 Hexadecimal Numbers k
   * @param index  The first index position   (from 1 Start) 
   * @param m  the index The value of the bit   only 0,1 Two options 
   * @return  After processing the 10 Hexadecimal Numbers 
   */
  public static int setValue(Integer k,int index,Integer m){
    // The equivalent of 2 the index-1 To the power 
    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;// Original permission value 
    int i=2;// The number of digits to view 
    int d = 2;// The number of digits to modify 
    a= setValue(a, d, 1);// Modify the first d A value of 1
    System.out.println(" The first "+i+" The bit value is: "+getValue(a,i));
  }
}

PS: Here are a few more computing and conversion tools for your reference:

Online any base conversion tool:
http://tools.ofstack.com/transcoding/hexconvert

Scientific Calculators online Using _ Advanced calculators online calculation:
http://tools.ofstack.com/jisuanqi/jsqkexue

Online calculators _ Standard calculators:
http://tools.ofstack.com/jisuanqi/jsq

I hope this article is helpful for java programming.


Related articles: