思想:通过位移讲各位置的字节数据转成相应的大小后再一起相加最后转成10进制数据
// 将大端模式下的 16 进制数转换为 10 进制数
int BigEndianHexToDecimal(const unsigned char* hex, int size) {
int result = 0;
int shift = 0;
for (int i = size-1; i >= 0; i--) {
result += (hex[i] << shift);
shift += 8; // 一个字节是 8 位
}
return result;
}
// 将小端模式下的 16 进制数转换为 10 进制数
int littleEndianHexToDecimal(const unsigned char* hex, int size) {
int result = 0;
int shift = 0;
for (int i = 0; i < size; i++) {
result += (hex[i] << shift);
shift += 8; // 一个字节是 8 位
}
return result;
}