Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright (c) 2013-2014 sagyf Yang. The Four Group.
   */
  
  package com.github.sog.kit.lang;

Part a copy of java.io.Bits, which is for unknown reason package local. Utility methods for packing/unpacking primitive values in/out of byte arrays using big-endian byte ordering.
 
 public class Bits {
 
     public static boolean getBoolean(byte[] bint off) {
         return b[off] != 0;
     }
 
     public static char getChar(byte[] bint off) {
         return (char) (((b[off + 1] & 0xFF)) +
                 ((b[off]) << 8));
     }
 
     public static short getShort(byte[] bint off) {
         return (short) (((b[off + 1] & 0xFF)) +
                 ((b[off]) << 8));
     }
 
     public static int getInt(byte[] bint off) {
         return ((b[off + 3] & 0xFF)) +
                 ((b[off + 2] & 0xFF) << 8) +
                 ((b[off + 1] & 0xFF) << 16) +
                 ((b[off]) << 24);
     }
 
     public static float getFloat(byte[] bint off) {
         int i = getInt(boff);
         return Float.intBitsToFloat(i);
     }
 
     public static long getLong(byte[] bint off) {
         return ((b[off + 7] & 0xFFL)) +
                 ((b[off + 6] & 0xFFL) << 8) +
                 ((b[off + 5] & 0xFFL) << 16) +
                 ((b[off + 4] & 0xFFL) << 24) +
                 ((b[off + 3] & 0xFFL) << 32) +
                 ((b[off + 2] & 0xFFL) << 40) +
                 ((b[off + 1] & 0xFFL) << 48) +
                 (((longb[off]) << 56);
     }
 
     public static double getDouble(byte[] bint off) {
         long j = getLong(boff);
         return Double.longBitsToDouble(j);
     }
 
     public static void putBoolean(byte[] bint offboolean val) {
         b[off] = (byte) (val ? 1 : 0);
     }
 
     public static void putChar(byte[] bint offchar val) {
         b[off + 1] = (byte) (val);
         b[off] = (byte) (val >>> 8);
     }
 
     public static void putShort(byte[] bint offshort val) {
         b[off + 1] = (byte) (val);
         b[off] = (byte) (val >>> 8);
     }
 
     public static void putInt(byte[] bint offint val) {
         b[off + 3] = (byte) (val);
         b[off + 2] = (byte) (val >>> 8);
         b[off + 1] = (byte) (val >>> 16);
         b[off] = (byte) (val >>> 24);
     }
 
     public static void putFloat(byte[] bint offfloat val) {
         int i = Float.floatToIntBits(val);
         putInt(boffi);
     }
 
     public static void putLong(byte[] bint offlong val) {
         b[off + 7] = (byte) (val);
         b[off + 6] = (byte) (val >>> 8);
         b[off + 5] = (byte) (val >>> 16);
         b[off + 4] = (byte) (val >>> 24);
         b[off + 3] = (byte) (val >>> 32);
         b[off + 2] = (byte) (val >>> 40);
         b[off + 1] = (byte) (val >>> 48);
         b[off] = (byte) (val >>> 56);
     }
 
     public static void putDouble(byte[] bint offdouble val) {
         long j = Double.doubleToLongBits(val);
         putLong(boffj);
     }
 
    // ---------------------------------------------------------------- mask
    public static boolean isSet(final byte valuefinal byte mask) {
        return (value & mask) == mask;
    }
    public static boolean isSet(final int valuefinal int mask) {
        return (value & mask) == mask;
    }
    public static boolean notSet(final int valuefinal int mask) {
        return (value & mask) != mask;
    }

    
Returns value with the bit corresponding to the mask set (if setBit is true) or cleared (if setBit is false).
    public static int set(int valueint maskboolean setBit) {
        return setBit ? value | mask : value & ~mask;
    }

    
Returns value with the bit corresponding to the mask set (if setBit is true) or cleared (if setBit is false).
    public static byte set(byte valuebyte maskboolean setBit) {
        return (byte) (setBit ? value | mask : value & ~mask);
    }
New to GrepCode? Check out our FAQ X