在解码h264文件时,常常会遇到解析二进制,将其保存到一个BYTE数组,或者其他类型数组中,但如果二进制代表得是整型,就需要进行转换,下例是数组转整型:
cpp:
// ShiftDemo.cpp : 定义控制台应用程序的入口点。
//
//功能:将数组(指针)类型转为整型
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
short TestShort[2];
TestShort[0] = 0x01;
TestShort[1] = 0xc2;
char TestChar = 0x04;
//方法一
unsigned short nShort8 = (TestShort[0] << 8) + TestShort[1];
//方法二
unsigned short nShort88;
nShort88 = TestShort[0] << 8;
nShort88 |= TestShort[1];
// int nChar8 = TestChar << 8;
//
// int nShort24 = TestShort << 24;
//
// int nChar24 = TestChar << 24;
//
// int nShort32 = TestShort << 32;
//
// int nChar32 = TestChar << 32;
//printf("nShort8= %d, nChar8=%d, nShort24= %d, nChar24=%d, nShort32= %d, nChar32=%d
", nShort8, nChar8, nShort24, nChar24, nShort32, nChar32);
printf("nShort8 = %d, nShort88 = %d
", nShort8, nShort88);
return 0;
}
效果: