博客專欄

EEPW首頁 > 博客 > 大小端模式的int和byte相互轉(zhuǎn)換

大小端模式的int和byte相互轉(zhuǎn)換

發(fā)布人:電子禪石 時間:2024-10-27 來源:工程師 發(fā)布文章

/**

 * 以大端模式將int轉(zhuǎn)成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轉(zhuǎn)成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[]轉(zhuǎn)成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[]轉(zhuǎn)成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;

}

??

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


                            版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。

                        

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


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: c

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉