Outputs an int into a byte array, copying only the bottom 24 bits of the integer. - Java File Path IO

Java examples for File Path IO:Byte Array

Description

Outputs an int into a byte array, copying only the bottom 24 bits of the integer.

Demo Code

/*//from  w w w  .  j a va2  s.  c om
 * Copyright The Sett Ltd, 2005 to 2014.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
//package com.java2s;

public class Main {
    public static void main(String[] argv) throws Exception {
        byte[] buf = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
        int offset = 2;
        int value = 2;
        write24BitIntToByteArray(buf, offset, value);
    }

    /**
     * Outputs an int into a byte array, copying only the bottom 24 bits of the integer. The top, sign bit, is lost by
     * this operation, so this only works on positive ints below 2^24.
     *
     * @param buf    The byte array to write to.
     * @param offset The offset within the byte array to output the int.
     * @param value  The int value to write into the array.
     */
    public static void write24BitIntToByteArray(byte[] buf, int offset,
            int value) {
        buf[offset++] = (byte) (value & 0x000000ff);
        buf[offset++] = (byte) ((value & 0x0000ff00) >> 8);
        buf[offset] = (byte) ((value & 0x00ff0000) >> 16);
    }
}

Related Tutorials