C ++, как преобразовать символ в шестнадцатеричный - PullRequest
1 голос
/ 01 июля 2011

Я знаю, что при выводе шестнадцатеричных символов я могу использовать

cout<<hex<<(unsigned int)(unsigned char)ch<<endl 

, но я получаю символ из стандартного ввода с помощью

cin.read((char*)&ch , sizeof(unsigned char))

как мне изменить ch на hex на этот раз?

Ответы [ 2 ]

3 голосов
/ 01 июля 2011
cin.read((char*)&ch , sizeof(unsigned char));
cout << hex << (unsigned int)(ch) << endl;

должно работать.

0 голосов
/ 14 ноября 2013

если вы пытаетесь преобразовать один символ в шестнадцатеричный, чтобы выполнить математику, например, если вы можете преобразовать представление символа ascii в его действительную цифру с помощью следующего выражения:

char x = 'A';
int y = x;
if(y > 47 && y < 58)  //this covers 0-9
   y = y - 48;
else if (y > 64 && y < 71) // this covers A-F
   y = y - 55;

и используйтеу как ваш новый номер.Если вам нужно сделать больше, чем одну цифру, вы можете поместить это в цикл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...