Перейти к содержанию
Fire Monkey от А до Я
  • 0

строка из массива шестнадцатиричных чисел


chaplin.u@gmail.com

Вопрос

Рекомендуемые сообщения

  • 0
6 часов назад, chaplin.u@gmail.com сказал:

массива шестнадцатиричных чисел ( 01, 02 ..0А, 0В,)

это то что я написал. числа от 1 до 16. подробнее почитай тут :https://ru.wikipedia.org/wiki/Шестнадцатеричная_система_счисления

со строками ты наверное знаком. я так думаю что есть простой способ выводить на экран строку показывающую что у меня передаётся.

Ссылка на комментарий
  • 0
8 часов назад, chaplin.u@gmail.com сказал:

подскажите пожалуйста метод получения строки из массива шестнадцатиричных чисел ( 01, 02 ..0А, 0В,). Для визуального контроля.

Допили для себя:

/// AHex - строка вида "A1,B2,C3" 
/// Del - резделитель
function HexToBytes(const AHex: string; const Del: string = ','): TBytes;
var
  i: Integer;
  S: TStringDynArray;
begin
  S := SplitString(Trim(AHex),Del);
  SetLength(Result, Length(S));
  for i := Low(S) to High(S) do
    Result[i] := StrToIntDef('$'+S[i],0);
end;

function BytesToStr(const ABytes: TBytes): string;
var
 i: integer;
begin
  Result := EmptyStr;
  for I := Length(ABytes)-1 Downto 0 do
   Result :=  Chr(ABytes[I] + 48) + Result;
end;

 

Ссылка на комментарий
  • 0
5 часов назад, chaplin.u@gmail.com сказал:

это то что я написал. числа от 1 до 16.

Даже в этой короткой фразе ошибка ... чего уж от формулировки вопроса ждать ))

 

За тебя исправлю.. так вот, есть массив ДВОИЧНЫХ чисел, которые согласно решаемой задаче ограничены 16 значениями. От 0 до 15. Соответственно тебе поможет IntToHex. Но неужто такая простая вещь оказалась не по силам?

Видимо не числа "от 1 до 16" там хранятся?

 

Изменено пользователем POV
Ссылка на комментарий
  • 0
10 часов назад, POV сказал:

массив ДВОИЧНЫХ чисел

Тогда уж "есть массив ЦЕЛЫХ чисел". 16-ричное, двоичное, восьмиричное, десятичное - это всего лишь строковые human-readable представления этих чисел. :)

Изменено пользователем kami
Ссылка на комментарий
  • 0

вот все злые, пристали к программеру, наговорили всякого,

человек хочет тупо массив данных в HEX просматривать, что от него уходит...

IntToHex используй, вот код на си:

    AnsiString s;
    for ( unsigned int i = 0; i < size; i++ )
      s += IntToHex( ( (unsigned __int8)(data[i] ), 2 ) + " ";

на выходе строка HEXов через пробел

Ссылка на комментарий
  • 0

да, пора кончать трёп. хоть кто-то понял. Спасибо Александр !  попробую.

DirtyBorov извини но я с Дельфи не близко знаком и код у меня похожий глючит.

Изменено пользователем chaplin.u@gmail.com
Ссылка на комментарий
  • 0
1 час назад, Камышев Александр сказал:

вот все злые, пристали к программеру, наговорили всякого,

Потому что программер должен понимать разность между хранением чисел и их представлением.

Ссылка на комментарий
  • 0
1 минуту назад, kami сказал:

Потому что программер должен понимать разность между хранением чисел и их представлением.

разница между бинарными данными и их представлением в виде строки шестнадцатеричных чисел

chaplin некорректно сформулировал вопрос, правильно сформулированный вопрос - уже половина ответа, да

профессионализм приходит с опытом

Ссылка на комментарий
  • 0

кстати я и не говорил что я профессионал. я самоделкин. делаю проект в одиночку: 

- электрическую схему прибора в Оркаде

- развожу печатную плату в Аллегро

- делаю программу ( embeded real time) для контроллера от Cypress

- мульти-платформенную апликацию для смартфонов на Android / iOS

извините господа но у меня нет времени на диспуты. вот закончу проект и тогда свами подиспутирую.

И лет мне уже 57...  Я программы писал ещё на перфокартах на Фортране.

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...