如何将char [HEX]数组转换为整数

How to convert array of char [HEX] to integer?

本文关键字:数组 转换 整数 HEX char      更新时间:2023-10-16

我的数组char [HEX]。我不知道怎么把它们转换成整数。有人能给我个建议吗?

我的编码:

char Hex[] = {'01', '0D'};
int a = (int(Hex[0]) >> 8)+ int(Hex[1]);
int b = (Hex[0] << 8) | Hex[1];
cout << "a: " << a << " b: " << b;
输出:

a: 68 b: 12612

我想输出应该是:

269

你完全错过的是ASCII转换。

'f'是一个字符,值为0x6f。显然这和0x0f不一样

你的问题很难理解。我觉得这就是你想要的。下面是如何将15转换为F和F转换为15。我希望这就是你要问的

#include<iostream>
#include<sstream>
int main(){
  // decimal to hex
  std::cout << std::hex << 15 << std::endl;
  // hex to decimal
  int mydecimal;
  std::istringstream("f") >> std::hex >> mydecimal;
  std::cout << std::dec << mydecimal << std::endl;
  // hex to decimal method 2
  std::cout << std::dec << 0xf << std::endl;
}