Russian Qt Forum
Октябрь 01, 2024, 22:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: INT в hex и положить в QChar  (Прочитано 6221 раз)
DeVOLT
Гость
« : Август 08, 2012, 12:40 »

Здравствуйте!
Столкнулся с проблемой.
Как преобразовать INT в 16-ричную сс и положить это значение в QChar?
Собственно как преобразовать то понятно, а вот как его туда положить.
Сейчас делаю так:
Код
C++ (Qt)
switch(a){
   case 0:
       comand[13] = 0x00;
   case 1:
       comand[13] = 0x01;
   case 2:
       comand[13] = 0x02;
   case 3:
       comand[13] = 0x03;
   case 4:
       comand[13] = 0x04;
   case 5:
       comand[13] = 0x05;
   case 6:
       comand[13] = 0x06;
   case 7:
       comand[13] = 0x07;
   case 8:
       comand[13] = 0x08;
   case 9:
       comand[13] = 0x09;
   case A:
       comand[13] = 0x0A;
   case B:
       comand[13] = 0x0B;
   case C:
       comand[13] = 0x0C;
   case D:
       comand[13] = 0x0D;
   case E:
       comand[13] = 0x0E;
   case F:
       comand[13] = 0x0F;
}//swich
 

понятно, что весь промежуток 0-255 так не сделать.
Сейчас написал функцию, которая переводит INT в hex и кладет в QString. Но опять же, как значение QString "0x3F" положить в QChar?

Прошу помощи.
« Последнее редактирование: Август 08, 2012, 13:35 от DeVOLT » Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Август 08, 2012, 12:47 »

Пипец Улыбающийся Ничего преобразовывать не надо тебе.
ЗЫЖ Ну этот хоть вроде не собирается алгоритм шифрования des реализовывать Улыбающийся
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
DeVOLT
Гость
« Ответ #2 : Август 08, 2012, 12:52 »

Ну а как тогда?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #3 : Август 08, 2012, 13:16 »

command[13] = a;
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Serr500
Гость
« Ответ #4 : Август 08, 2012, 13:20 »

1) А так не проще?
Код:
if (0 <= a && a <= 0xF)
    command[13] = (char)a;

2) Что такое QByte? В Qt такого нет. Или имеется в виду QChar?

3) Что значит "в 16-ричную сс"? Не очень понятно. Привести к виду 0xXX (две цифры) что-ли? Ну так int привести к такому виду невозможно, потому что его диапазон намного шире. И для каких целей "положить это значение в QByte"?
Записан
mutineer
Гость
« Ответ #5 : Август 08, 2012, 13:28 »

1) А так не проще?
Код:
if (0 <= a && a <= 0xF)
    command[13] = (char)a;

Наверно лучше будет 0xFF
Записан
DeVOLT
Гость
« Ответ #6 : Август 08, 2012, 13:38 »

Да, действительно, положить в QChar.

Числа заведомо в промежутке 0..255.

т.е. надо получить из 122, например, 0x7A и это значение кинуть в QChar. Далее у меня из QChar строится QCharArray и он по UDP передается на удаленное устройство.
Реализую протокол один.
Записан
DeVOLT
Гость
« Ответ #7 : Август 08, 2012, 13:55 »

Блин, я очень жестко ступил.
Всем спасибо за подсказки.
Вопрос решен.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #8 : Август 08, 2012, 13:55 »

Да, действительно, положить в QChar.

Числа заведомо в промежутке 0..255.

т.е. надо получить из 122, например, 0x7A и это значение кинуть в QChar. Далее у меня из QChar строится QCharArray и он по UDP передается на удаленное устройство.
Реализую протокол один.
Тебе уже ответили. Десятеричные, шестнадцатеричные, восьмеричные и прочие -ичные системы счисления это чисто человеческие заморочки, компу они до лампочки.
command[13] = a;
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Serr500
Гость
« Ответ #9 : Август 08, 2012, 13:56 »

Вопрос решен.

Код:
QChar::QChar (int code)
?
Записан
DeVOLT
Гость
« Ответ #10 : Август 08, 2012, 14:40 »

Вот ответ на вопрос:

Тебе уже ответили. Десятеричные, шестнадцатеричные, восьмеричные и прочие -ичные системы счисления это чисто человеческие заморочки, компу они до лампочки.
command[13] = a;
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.106 секунд. Запросов: 23.