保存大端小端部には、ビッグエンディアンメモリトランスコーダを回し小端&ストレージを保存

 

試す試みる

テンプレートを <型名T> 
T transformBigToLittleEndian(CONST T&BiValue)
{ 
    符号なしショート sizeCount = はsizeof (T)。
    T liValue; 

    もし(sizeCountの== 2 
    { 
        liValue =((BiValue&は0xFF00)>> 8  |((BiValue&0x00FFに)<< 8 )。
    } 
    そう であれば(sizeCountの== 4 
    { 
        liValue =((BiValue&0xFF000000)>> 24  | ((BiValue&0x00FF0000)>> 8  | ((BiValue&0x0000FF00)<< 8  | ((BiValue&0x000000FF)<< 24 )。
    } 
    そう であれば(sizeCountの== 8 
    { 
        liValue =((BiValue&0xFF00000000000000)>> 56  | ((BiValue&0x00FF000000000000)>> 40  | ((BiValue&0x0000FF0000000000)>> 24  | ((BiValue&0x000000FF00000000)>> 8  | ((BiValue&0x00000000FF000000)<< 8  | ((BiValue&0x0000000000FF0000)<< 24  | ((BiValue&0x000000000000FF00)<< 40  | ((BiValue&0x00000000000000FF)<< 56 )。
    } 
    戻りliValue。
} 
テンプレート <型名T> 
T transformLittleToBigEndian(CONST T&
    符号なしの短い sizeCount = はsizeof (T)。
    T BiValue; 

    もし(sizeCountの== 2 
    { 
        BiValue | =((liValue&0x00FFに)<< 8 )。
        BiValue | =((liValue&は0xFF00)>> 8 ); 
    } 
    そう であれば(sizeCountの== 4 
    { 
        BiValue =((liValue&0x000000FF)<< 24  | ((liValue&0x0000FF00)<< 8 | ((liValue&0x00FF0000)>> 8  | ((liValue&0xFF000000)>> 24 )。
    } 
    そう であれば(sizeCountの== 8 
    { 
        BiValue | =((liValue&0x00000000000000FF)<< 56 )。
        BiValue | =((liValue&0x000000000000FF00)<< 40 ); 
        BiValue | =((liValue&0x0000000000FF0000)<< 24 ); 
        BiValue | =((liValue&)<<8 )。
        BiValue | =((liValue&0x000000FF00000000)>> 8 ); 
        BiValue | =((liValue&0x0000FF0000000000)>> 24 ); 
        BiValue | =((liValue&0x00FF000000000000)>> 40 ); 
        BiValue | =((liValue&0xFF00000000000000)>> 56 ); 
    } 
    戻りBiValueと、
}

メインINT()
{
transformBigToLittleEndian();
int値= 1;
値= transformLittleToBigEndian(値);
COUT << "値=小端BIA =に大きい端をINT" <<値<< ENDL。

 
 

= transformBigToLittleEndian値(値);
COUT <<値<< << ENDL「次に及び小端値=に大きい端から変換されました」;
}

 

 

どのように判断するために、自分のコンピュータの記憶メモリがビッグエンディアンかリトルエンディアンストレージです:https://www.cnblogs.com/azbane/p/11303463.html

おすすめ

転載: www.cnblogs.com/azbane/p/11303592.html