新闻  |   论坛  |   博客  |   在线研讨会
大小端模式的int和byte相互转换
电子禅石 | 2024-10-27 17:20:11    阅读:220   发布文章

/**

 * 以大端模式将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


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

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客