博客专栏

EEPW首页 > 博客 > 大小端模式的int和byte相互转换

大小端模式的int和byte相互转换

发布人:电子禅石 时间:2024-10-27 来源:工程师 发布文章

/**

 * 以大端模式将int转成byte[]

 */

public static byte[] intToBytesBig(int value) {

    byte[] src = new byte[4];

    src[0] = (byte) ((value >> 24) & 0xFF);

    src[1] = (byte) ((value >> 16) & 0xFF);

    src[2] = (byte) ((value >> 8) & 0xFF);

    src[3] = (byte) (value & 0xFF);

    return src;

}


/**

 * 以小端模式将int转成byte[]

 *

 * @param value

 * @return

 */

public static byte[] intToBytesLittle(int value) {

    byte[] src = new byte[4];

    src[3] = (byte) ((value >> 24) & 0xFF);

    src[2] = (byte) ((value >> 16) & 0xFF);

    src[1] = (byte) ((value >> 8) & 0xFF);

    src[0] = (byte) (value & 0xFF);

    return src;

}


/**

 * 以大端模式将byte[]转成int

 */

public static int bytesToIntBig(byte[] src, int offset) {

    int value;

    value = (int) (((src[offset] & 0xFF) << 24)

            | ((src[offset + 1] & 0xFF) << 16)

            | ((src[offset + 2] & 0xFF) << 8)

            | (src[offset + 3] & 0xFF));

    return value;

}


/**

 * 以小端模式将byte[]转成int

 */

public static int bytesToIntLittle(byte[] src, int offset) {

    int value;

    value = (int) ((src[offset] & 0xFF)

            | ((src[offset + 1] & 0xFF) << 8)

            | ((src[offset + 2] & 0xFF) << 16)

            | ((src[offset + 3] & 0xFF) << 24));

    return value;

}



————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/a22422931/article/details/64929815


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: c

相关推荐

技术专区

关闭