系統大小端測試

一、大小端模式概念

Java中命名的數據在系統的內存中的存放方式分爲大端、小端模式。如下圖:
int a = 0x12345678;
不同的模式存放方式:
在這裏插入圖片描述

三、Java測試系統大小端

/**
     * 測試系統的大小端模式
     * 大端模式:數據按照順序存放在內存字節中
     * 小端模式:數據和大端模式存放數據方式相反
     * 如int值12345678,佔用內存4個字節,每個字節佔用8個位,每個數字佔用4個位;
     * 大端模式內存存放順序:12、34、56、78
     * 小端模式:78、56、34、12
     *
     * @return
     */
    public static boolean isBigSystemBigLittleEndian () {
        /*
        //Java提供現成的測試方法
        if(ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) {
            return true;
        }
        else {
            return false;
        }
        */

        int a = 0x12345678;
        byte b = (byte)a;

        return b == 0x12;
    }

說明:Java提供現成技術獲取系統採用大小端模式,如代碼中的ByteOrder類,底層依賴Java的Unsafe類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章