码迷,mamicode.com
首页 > 其他好文 > 详细

Byte转INT型

时间:2015-10-17 19:05:33      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define OLDTEST 0

typedef unsigned char INT8U; /* 无符号8位整型 */
typedef INT8U* PINT8U; /* 无符号8位整型指针 */

typedef unsigned short INT16U; /* 无符号16位整型 */

typedef unsigned int INT32U; /* 无符号32位整型 */
typedef unsigned long long INT64U; /* 无符号64位整型 */

 


static void INT8U_ConvertTo_Other(INT8U* pu8Data, INT8U u8BigEndian, INT8U* pu8Dst, INT8U u8Len)
{
    INT8U u8Index = 0;
    if(1 == u8BigEndian)
    {
        for(u8Index=0; u8Index<u8Len; u8Index++)
        {
            *pu8Dst++ = pu8Data[u8Index];
        }
    }
    else
    {
        for(u8Index=u8Len; u8Index > 0; u8Index--)
        {
            *pu8Dst++ = pu8Data[u8Index-1];
        }
    }
}

 

 

int main(void)
{
    INT8U u8Arr[8] = {0x12,0x34,0x56,0x78,0x87,0x65,0x43,0x21};
    INT16U u16Data1 = 0; // 0x1234;
    INT32U u32Data1 = 0; // 0x1234;
    UINT64 u64Data1 = 0; // 0x1234567890;

    INT8U_ConvertTo_Other(u8Arr, 1, (INT8U*)&u16Data1, sizeof(u16Data1));
    printf("%x\n", u16Data1);
    INT8U_ConvertTo_Other(u8Arr, 0, (INT8U*)&u16Data1, sizeof(u16Data1));
    printf("%x\n", u16Data1);


    INT8U_ConvertTo_Other(u8Arr, 1, (INT8U*)&u32Data1, sizeof(u32Data1));
    printf("%x\n", u32Data1);
    INT8U_ConvertTo_Other(u8Arr, 0, (INT8U*)&u32Data1, sizeof(u32Data1));
    printf("%x\n", u32Data1);


    INT8U_ConvertTo_Other(u8Arr, 1, (INT8U*)&u64Data1, sizeof(u64Data1));
    printf("%x\n", u64Data1);
    INT8U_ConvertTo_Other(u8Arr, 0, (INT8U*)&u64Data1, sizeof(u64Data1));
    printf("%x\n", u64Data1);

    return 0;
}

Byte转INT型

标签:

原文地址:http://www.cnblogs.com/roc-he/p/4887877.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!