Форум программистов, компьютерный форум CyberForum.ru

Перевод данных в hex. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 68
16.01.2011, 18:23     Перевод данных в hex. #1
Всем привет!
Код
char buffs[6] = {"\x01\x7f\x34\xb0\x80"};
printf("%02X \n",buffs[0]);  // выводит 01
printf("%02X \n",buffs[1]);  // выводит 7F
printf("%02X \n",buffs[2]);  // выводит 34
printf("%02X \n",buffs[3]);  // выводит FFFFFFB0
printf("%02X \n",buffs[4]);  // выводит FFFFFF80
Подскажите пожалуйста как исправить, чтобы в ситуации с buffs[3] и buffs[4] выводило корректно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2011, 18:23     Перевод данных в hex.
Посмотрите здесь:

C++ Перевод из HEX в ASCII и ещё кое - что
[BMP] HEX (из HEX-редактора) в DEC C++
C++ Контрол для просмотра данных в HEX
Перевод чисел Bin - Oct - Dec - Hex C++
C++ перевод hex в char
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
16.01.2011, 18:37     Перевод данных в hex. #2
Выводит правильно, ток в В0 и 80 соответственно равны 1011 и 1000, первый бит, которых равен 1, что иногда принимается за отрицательное число. То есть оно попадает в диапозон от -127 до 127.
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 68
16.01.2011, 18:50  [ТС]     Перевод данных в hex. #3
Daemon025, спасибо за ответ. Тогда как мне выводить В0 и 80? Брать всегда два последних символа? -) Если да, то подскажите WIN API функцию.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
16.01.2011, 21:36     Перевод данных в hex. #4
А зачем WIN API функция?)
Проблему описал Daemon025, для решения юзайте не просто char, а необозначенный char
C++
1
unsigned char buffs[5] = {"\x01\x7f\x34\xb0\x80"};
http://codepad.org/rQicaXDU
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 68
17.01.2011, 03:03  [ТС]     Перевод данных в hex. #5
x1Mike7x, спасибо
Yandex
Объявления
17.01.2011, 03:03     Перевод данных в hex.
Ответ Создать тему
Опции темы

Текущее время: 03:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru