Returns 16 bits from the long number. : Binary Bit « Language Basics « Java






Returns 16 bits from the long number.

     
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//package org.ancora.SharedLibrary;

/**
 * Methods for bit manipulation.
 *
 * @author Joao Bispo
 */
public class Util{
  private static final long MASK_16_BITS = 0xFFFFL;
     private static final int MASK_BIT_1 = 0x1;
     /**
      * Returns 16 bits from the long number.
      * 
      * @param data
      * @param offset one of 0 to 3
      * @return
      */
     public static int get16BitsAligned(long data, int offset) {
        // Normalize offset
        offset = offset%4;
        //System.out.println("offset:"+offset);
        // Align the mask
        long mask = MASK_16_BITS << 16*offset;
        //System.out.println("Mask:"+Long.toHexString(mask));
        //System.out.println("Data:"+Long.toHexString(data));

        // Get the bits
        long result = data & mask;

        // Put bits in position
        return (int) (result >>> (16*offset));
     }
}

   
    
    
    
    
  








Related examples in the same category

1. Utility for byte swapping of all java data types
2.Bitwise DemoBitwise Demo
3.Binary Digits
4.Using the bitwise operatorsUsing the bitwise operators
5.Bitwise complement (~): inverts ones and zeroes in a number
6.Convert a number to negative and back
7.Bitwise AND (&)
8.Bitwise OR (|)
9.Bitwise XOR (^)
10.Left shift (<<)
11.Performing Bitwise Operations on a Bit Vector
12.Converting Between a BitSet and a Byte Array
13.Returns a byte array of at least length 1
14.Shift to the left
15.Signed shift to the right
16.Unsigned shift to the right
17.Bit-level unpacking of floating-point data
18.Gets the a single bit of the target.
19.Sets a specific bit of an int.
20.Fuses the lower 16 bits of two ints.
21.Class to represent unsigned 32-bit numbers.
22.A list of bits.
23.Gets the specified bit (0-31) from the integer argument.
24.Sets the specified bit (0-31) in the integer argument.
25.Clears a range of bits in the specified integer.