大話C中字節序即大小端問題2

栗子一:

here 

栗子二

ULONG ATM_UNI_GetParaULONGValByOID(UCHAR *Type );
{
    *Type=0x12;
}
ULONG ATM_UNI_MAPIPTable_DeleteHandler (VOID* pMsgRcv, VOID** ppMsgSnd)
{  
    ULONG ulType=0x456789ab;
    ulErrCode = ATM_UNI_GetParaULONGValByOID(&ulType );
    printf(”%x”,ulType);
}
在小端字節序下打印輸出的值是多少?__0x45678912___
在大端字節序下打印輸出的值是多少?_0x126789ab____

對於該題,有兩個原則,

原則一:只考慮0x12,若是小端則在最後,若是大端則在最前。

原則二:其餘的位置上的數保持不變。

即0x456789ab中,未被0x12覆蓋的位置保留原樣不變。

ref:here and here


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